簡體   English   中英

close似乎不適用於WebSocket

[英]close does not seem to work with WebSocket

我有這個簡單的JavaScript代碼:

window.ws = new WebSocket('ws://127.0.0.1:8000/');

ws.onopen = function() { 
  ws.send('hello');
}

Ruby中的服務器如下:

require 'em-websocket'

class Websocket
  def run
    EventMachine.run do

      EM::WebSocket.start(host: '0.0.0.0', port: '8000') do |ws|
        ws.onopen do |handshake|
          puts "Connected"
        end

        ws.onclose do
          puts "Closed"
        end

        ws.onmessage do |msg|
          p msg
        end
      end
    end
  end
end

當連接關閉時,服務器應打印“已關閉”。 在瀏覽器中,當我執行window.ws.close() ,服務器沒有收到任何內容,但是當我重新加載頁面時,它會打印該消息。

有沒有辦法迫使客戶說出比連接關閉?

我發布了這個答案,因為發現該問題與“Docker”的使用有關,並且發布了一個與實際問題相關的新問題。

這個答案應該(希望)正確地將這個問題標記為不再需要注意,以便社區可以專注於未回答的問題。

有關詳細信息,請參閱該問題的評論。

暫無
暫無

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

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