2017-06-20 28 views
2

我們的實時聊天服務由客戶端socket.io連接組成,這些連接在'運輸關閉'的服務器端通過'隨機'客戶端斷開連接並斷開連接。當服務器不能再ping通客戶端和用戶分別註銷時,我們偶爾會看到「ping timeout」和「namespace disonnect」。我們正在努力理解爲什麼'運輸關閉'斷線正在發生。socket.io - 運輸關閉

這裏被使用的客戶端連接的套接字選項,

var socketOptions = { 
transports: ['websocket'], 
query: 'token=' + JSON.stringify(token) + '&member=' + 
     JSON.stringify(memberService.currentMember) + '&isBrowser=' + 
     isBrowser + '&isBrowserFocused=' + isBrowserFocused, 
reconnectionAttempts: 5 
} 

任何想法?

謝謝!

回答

0

我想你應該用「socket.io-client」來檢查「socket.io」的版本。 如果服務器/客戶端版本不匹配,則連接非常不穩定。

我建議使用如下CDN作爲客戶端。

<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.slim.js"></script>

@ref:https://cdnjs.com/libraries/socket.io

我希望它能幫助。