簡體   English   中英

是否可以將Websocket連接發送到客戶端?

[英]Is it possible to send a Websocket connection to a client?

鄉親!

我有以下情況:

  • 我正在運行帶有WebSocketHandler的Tornado服務器,該服務器可處理websocket上的open,on_message和on_close事件:

      class WebSocketHandler(tornado.websocket.WebSocketHandler): def open(self): (...) def on_message(self, message): (...) def on_close(self): (...) 
  • 我有一個視圖,其中客戶端打開一個新的WebSocket並設置“ onmessage”事件處理程序:

      window.onload = function() { ws = new WebSocket("ws://192.168.0.51:8080/websocket"); ws.onmessage = function(e) { console.log(e.data); }; } 
  • 如果用戶在瀏覽器中打開一個新標簽,但他已經在服務器端打開了一個websocket,我想稍微修改一下這個示例以“重用”一個websocket連接。

    我打算通過向服務器發出第一個請求時發送用戶唯一ID並在打開套接字之前檢查響應來實現此目的。

    問題是 :如果Tornado服務器檢測到用戶已經打開了連接(Websocket),是否可以向該用戶(客戶端)發送對該連接的引用,以使客戶端代碼可以使用該連接而不是創建一個新的?

提前致謝!

原則上,這可以通過從共享的后台Web worker中打開WebSocket連接來實現。

並非所有瀏覽器都支持(到目前為止)從Web Worker打開WebSocket連接。 我知道它適用於Chrome和IE11上的專用Web工作者,並且不適用於Firefox。

我不知道哪些瀏覽器支持從共享 Web Worker打開WebSocket連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM