2012-04-20 44 views
0

我有解決不了一個奇怪的錯誤。的WebSocket:的onMessage()只在最後觸發時,服務器關閉連接

我實現的WebSocket完美的作品。瀏覽器連接到服務器,交換他們的密鑰,連接完全建立!服務器開始向客戶端發送消息(在網絡流量中可見)。

但我的電腦上,所有的瀏覽器(Chrome瀏覽器,火狐,便攜與否),則「的onMessage()」的正確解釋......但只有在當我關閉服務器到底!換句話說,如果我在每個onMessage()中都放一個alert(),在交換過程中,我什麼都沒做。但是一旦我切斷服務器,我立即收到所有警報!

然而,在我的MacBook一切完美。

這具有諷刺意味的是這種行爲影響了我所有的瀏覽器在我的電腦上。我在Windows 7下運行。

謝謝你提前;)

+0

您使用的是標準的服務器或你寫你自己的?如果它是你自己的服務器,看到你的代碼會很有趣。另外,當握手完成時或僅在關閉時,瀏覽器onOpen回調是否運行? – simonc 2012-04-20 19:29:09

+0

我使用自己的服務器,但是我用在線回聲測試進行了測試,發送了消息,但沒有任何迴應。該消息僅在我禁用網絡接口時纔會返回。 是的,onOpen完美工作,建立連接時alert()被成功調用。只是onMessage()正在搞亂。 – Optix 2012-04-21 10:29:23

回答

0

我終於找到了問題!

如果您在使用Websocket時遇到一些麻煩,只需在Windows上禁用SSDP發現服務即可

net stop SSDPSRV 
0

最近我遇到了類似的問題。 Web服務器運行單獨的SSDP發現過程來查找網絡上的uPnP設備。當我啓用SSDP時,我的websocket連接總是關閉。禁用SSDP解決了它。但我還沒有機會去調查爲什麼

相關問題