2011-12-18 142 views
3

似乎在嘗試關閉來自Firefox的websocket連接時出現問題(8.0.1)。 使用Chrome時,如果使用WebSocket.close(),則立即關閉連接,在firefox中,我可以等待大約30秒,直到它關閉帶有錯誤的連接。WebSocket連接在FireFox中沒有關閉

任何建議,以繞過這個問題在Firefox?

+0

什麼是錯誤? – 2011-12-18 09:37:54

+0

連接到ws://10.0.0.1:8121/chat時頁面加載時中斷。 – udidu 2011-12-18 09:44:22

+0

你使用什麼WebSocket服務器? – kanaka 2012-01-31 19:17:43

回答

1

如果服務器不支持從firefox發送的握手格式,則可能會遇到該錯誤。我遇到了Aleph的這個錯誤,因爲它沒有正確支持握手的Connection頭部中的多個值,這對於Firefox來說是合法的,但也與Chrome的行爲方式不同(連接頭中只有一個值) 。

如果客戶端向您發送一條關閉消息(操作碼0x8),則服務器應使用關閉消息進行響應以進行乾淨關閉。從規範:「如果一個端點收到一個關閉幀並且以前沒有發送一個關閉幀,端點必須發送一個關閉幀作爲響應。」如果服務器由於某種原因斷開客戶端,服務器應發送一條關閉消息。請參閱規範的5.5.17.4

+1

onOpen事件被觸發...所以連接打開 – udidu 2012-01-31 18:15:32

+0

您在什麼時候「加載頁面時出現中斷」?加載頁面時(如圖所示),還是嘗試斷開連接後? – kanaka 2012-01-31 19:17:18

+0

我試圖斷開連接後... – udidu 2012-02-02 11:39:23