[問題] js/jquery 接server 文字串流

作者: amigcamel (阿吉amig)   2015-11-20 14:17:39
大家好
小魯新手請見諒
可能魯到標題都說不清
我直接說明:
[環境]
前端: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. 後端也不知道怎麼配合
不知道各位先進大大
可否迷津指點一下
有實例可以提供最好
提供關鍵字讓我去作功課也可以
謝謝!
作者: ian90911 (xopowo)   2015-11-20 15:11:00
那Node.js socket.io呢
作者: mmis1000 (秋月戀楓)   2015-11-20 18:50:00
要用node.js的話,不用socketio阿而且超乎你想像的簡單,不超過100codehttps://goo.gl/kc1qPx 範例https://goo.gl/HQFPCW code
作者: Hevak (Arthow Eshes)   2015-11-20 19:23:00
樓上的例子不就是用socket.io嗎@@
作者: mmis1000 (秋月戀楓)   2015-11-20 19:27:00
那是直接把程式輸出送進tcp socket裡...socket.io那一段是清垃圾沒清到而已
作者: syclin (Steven)   2015-11-20 20:24:00
Websocket 應該是您的最佳夥伴 :)
作者: mmis1000 (秋月戀楓)   2015-11-20 20:43:00
你甚至可以直接curl那個網址,他會直接顯示在console上
作者: pptinmylife (新竹劉德華)   2015-11-20 21:11:00
用nodejs
作者: mmis1000 (秋月戀楓)   2015-11-20 21:18:00
node.js的child process能讓你輕鬆串任何指令而他的evented io可以簡單做到串流的重導向不考慮code品質的話,學起來相當簡單,就連國中生都能在一個晚上做出簡單的irc bot之類的小應用
作者: Hevak (Arthow Eshes)   2015-11-21 01:39:00
原來如此XD
作者: a110482 (研磨綠豆沙)   2015-11-22 21:51:00
django的websocket你搜尋dwebsocket,還蠻方便的

Links booklink

Contact Us: admin [ a t ] ucptt.com