作者amigcamel (阿吉amig)
看板Web_Design
標題[問題] js/jquery 接server 文字串流
時間Fri Nov 20 14:17:39 2015
大家好
小魯新手請見諒
可能魯到標題都說不清
我直接說明:
[環境]
前端:js/jquery
後端:django
[情境]
Ajax送出指令
django server 接收到以後
後端的Python開始跑一段程式,且將log以stream的方式輸出到某個file
[需求]
我想把這些輸出的log即時反應在頁面上
讓使用者知道目前程式執行的狀況
[問題]
要怎麼實作?
1. XMLHttpRequest.js?
我從StackOverflow查到這個解答(連結:
https://goo.gl/9tNomn)
但說實在有看沒有,還是說這個不是我要問的?
2. 用WebSocket?
但這好像會牽涉到後端server 是否為synchronous server的樣子
我只知道他是常常被拿來作為網路聊天室實作的技術
我想到最笨的方法就是一直發request去接收資料
但我覺得應該有更好的辦法
但目前最大問題就是卡在
1. 前端不知道怎麼實作
2. 後端也不知道怎麼配合
不知道各位先進大大
可否迷津指點一下
有實例可以提供最好
提供關鍵字讓我去作功課也可以
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.233.161
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Web_Design/M.1448000262.A.5D4.html
1F:推 ian90911: 那Node.js socket.io呢 11/20 15:11
謝謝,不過Node.js可能不考慮(因為我不會><)
※ 編輯: amigcamel (61.220.233.161), 11/20/2015 15:20:02
2F:→ mmis1000: 要用node.js的話,不用socketio阿 11/20 18:50
3F:→ mmis1000: 而且超乎你想像的簡單,不超過100code 11/20 18:51
6F:→ Hevak: 樓上的例子不就是用socket.io嗎@@ 11/20 19:23
7F:→ mmis1000: 那是直接把程式輸出送進tcp socket裡... 11/20 19:27
8F:→ mmis1000: socket.io那一段是清垃圾沒清到而已 11/20 19:27
9F:推 syclin: Websocket 應該是您的最佳夥伴 :) 11/20 20:24
10F:→ mmis1000: 你甚至可以直接curl那個網址,他會直接顯示在console上 11/20 20:43
11F:推 pptinmylife: 用nodejs 11/20 21:11
12F:→ mmis1000: node.js的child process能讓你輕鬆串任何指令 11/20 21:18
13F:→ mmis1000: 而他的evented io可以簡單做到串流的重導向 11/20 21:19
14F:→ mmis1000: 不考慮code品質的話,學起來相當簡單,就連國中生都能 11/20 21:20
15F:→ mmis1000: 在一個晚上做出簡單的irc bot之類的小應用 11/20 21:20
16F:推 Hevak: 原來如此XD 11/21 01:39
謝謝各位
透過關鍵字
我找到了我要的答案:
gevent-socketio (
https://github.com/abourget/gevent-socketio)
server方面除了支援Django外
也支援其他WSGI-based的web frameworks,如Flask, web2py, Pylons
※ 編輯: amigcamel (1.34.118.221), 11/21/2015 02:58:36
17F:→ a110482: django的websocket你搜尋dwebsocket,還蠻方便的 11/22 21:51
謝謝!真的滿方便的!
※ 編輯: amigcamel (61.220.233.159), 11/23/2015 14:17:57