我試圖使用Tornado網絡套接字服務器來通知我的用戶實時更改數據庫時。我希望爲此使用HTML5網絡套接字,儘管大多數瀏覽器都不支持它們。沒有Tornado軟件包附帶的演示使用網絡套接字,並且它們在文檔中未提及,所以我不知道如何開始。我可以在谷歌上找到的幾個例子都不起作用,或者記錄不完整。網絡套接字/龍捲風 - 通知客戶端數據庫更新
有沒有人有我如何使用Tornado將數據推送到客戶端時的任何示例,當MySQL數據庫已更新或類似的東西我可以學習?
我試圖使用Tornado網絡套接字服務器來通知我的用戶實時更改數據庫時。我希望爲此使用HTML5網絡套接字,儘管大多數瀏覽器都不支持它們。沒有Tornado軟件包附帶的演示使用網絡套接字,並且它們在文檔中未提及,所以我不知道如何開始。我可以在谷歌上找到的幾個例子都不起作用,或者記錄不完整。網絡套接字/龍捲風 - 通知客戶端數據庫更新
有沒有人有我如何使用Tornado將數據推送到客戶端時的任何示例,當MySQL數據庫已更新或類似的東西我可以學習?
李的答案是好的,如果你需要支持舊瀏覽器,你可能需要socket.io。
的WebSockets是龍捲風很容易做的:
import tornado.websocket
class EchoWebSocket(tornado.websocket.WebSocketHandler):
def open(self):
print "WebSocket opened"
def on_message(self, message):
self.write_message(u"You said: " + message)
def on_close(self):
print "WebSocket closed"
然後將其路由任何其他處理程序,包括網頁套接字中的JavaScript功能的看法:
var ws = new WebSocket("ws://localhost:8888/websocket");
ws.onopen = function() {
ws.send("Hello, world");
};
ws.onmessage = function (evt) {
alert(evt.data);
};
欲瞭解更多信息,請參閱來源: https://github.com/facebook/tornado/blob/master/tornado/websocket.py
這篇文章使用websockets and redis涵蓋了基本的想法很好。
我已經成功在服務器端使用socket.io客戶端和。 Socket.IO
提供了一個對websocket的抽象,並提供瞭如果瀏覽器不支持websocket(長查詢,閃存套接字等)的情況下的回退。
爲了使用它,您只需要編寫一個監視數據庫的tornadio文檔的tornadio腳本,然後在您的網頁中包含socket.io JavaScript並建立與tornadio服務器駐留的任何地方的連接在您的tornadio腳本中指定的URL route
。
鏈接已死! – Armance 2016-09-14 14:58:45