看板 Web_Design 關於我們 聯絡資訊
大家好 小魯新手請見諒 可能魯到標題都說不清 我直接說明: [環境] 前端: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://www.ptt.cc/bbs/Web_Design/M.1448000262.A.5D4.html
ian90911: 那Node.js socket.io呢 11/20 15:11
謝謝,不過Node.js可能不考慮(因為我不會><) ※ 編輯: amigcamel (61.220.233.161), 11/20/2015 15:20:02
mmis1000: 要用node.js的話,不用socketio阿 11/20 18:50
mmis1000: 而且超乎你想像的簡單,不超過100code 11/20 18:51
mmis1000: https://goo.gl/kc1qPx 範例 11/20 19:12
mmis1000: https://goo.gl/HQFPCW code 11/20 19:20
Hevak: 樓上的例子不就是用socket.io嗎@@ 11/20 19:23
mmis1000: 那是直接把程式輸出送進tcp socket裡... 11/20 19:27
mmis1000: socket.io那一段是清垃圾沒清到而已 11/20 19:27
syclin: Websocket 應該是您的最佳夥伴 :) 11/20 20:24
mmis1000: 你甚至可以直接curl那個網址,他會直接顯示在console上 11/20 20:43
pptinmylife: 用nodejs 11/20 21:11
mmis1000: node.js的child process能讓你輕鬆串任何指令 11/20 21:18
mmis1000: 而他的evented io可以簡單做到串流的重導向 11/20 21:19
mmis1000: 不考慮code品質的話,學起來相當簡單,就連國中生都能 11/20 21:20
mmis1000: 在一個晚上做出簡單的irc bot之類的小應用 11/20 21:20
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
a110482: django的websocket你搜尋dwebsocket,還蠻方便的 11/22 21:51
謝謝!真的滿方便的! ※ 編輯: amigcamel (61.220.233.159), 11/23/2015 14:17:57