[英]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.