socket.io – 运输closures

我们的实时聊天服务由客户端socket.io连接组成,这些连接在整个“随机”客户端断开连接,并在“传输closures”的服务器端断开连接。 当服务器不能再ping通客户端和用户分别注销时,我们偶尔会看到“ping timeout”和“namespace disonnect”。 我们正在努力理解为什么“运输closures”断开正在发生。

这里是客户端用于连接的套接字选项,

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

有任何想法吗?

谢谢!

我想你应该用“socket.io-client”来检查“socket.io”的版本。 如果服务器/客户端版本不匹配,则连接非常不稳定。

我build议使用如下的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

我希望它有帮助。