node.js - socket.io - 传输关闭

标签 node.js websocket socket.io

我们的实时聊天服务由客户端socket.io 连接组成,这些连接始终会“随机”客户端断开连接,并在服务器端“传输关闭”断开连接。我们偶尔会看到“ping 超时”和“命名空间断开”,这分别发生在服务器无法再 ping 客户端和用户注销时。不过,我们正在努力理解为什么会发生“传输关闭”断开连接。

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

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”的版本。 如果服务器/客户端版本不匹配,连接会非常不稳定。

我建议客户端简单地使用 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

希望对您有所帮助。

关于node.js - socket.io - 传输关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44654624/

相关文章:

javascript - 在 JSON 中添加新元素

javascript - 复合索引覆盖以前的文档

javascript - 来自导入语句的 "SyntaxError: Unexpected identifier"?

javascript - 无法使用 Node、Express 和 EJS 连接到 Socket IO

javascript - 从 socket.io 接收数据时如何重新渲染组件?

node.js - "Learning Node JS"示例 - 'The super constructor to "继承 "must not ' +'

node.js - 根据类型 y 分组的字段 x 的前 1 个返回 mongoDB 中的记录

ios - Socket.io 与 PHP websocket 握手?

ios - swift/iOS8 : Create shared instance for websocket SocketIOCocoa

node.js - Socket.io 不同的客户端 ID