Socket.io 错误处理
Posted
技术标签:
【中文标题】Socket.io 错误处理【英文标题】:Socket.io error handling 【发布时间】:2012-11-15 03:52:19 【问题描述】:我遇到了 Socket.IO 的问题。
我正在尝试在套接字错误后重新连接套接字,但它不会重新连接。代码如下:
socket = io.connect(host, options);
socket.on('connect', this.onConnect);
socket.on('error', function()
//here i change options
socket = io.connect(host, options);
);
为什么它不创建新连接? (主机和端口保持不变,它适用于第一个连接)。
【问题讨论】:
1) 什么是error
事件? 2)你怎么知道它没有创建新的连接? 3) 显然,当您创建新连接时,您必须再次设置所有事件处理程序,您这样做了吗?
1) "error" 是默认的 socket.io 事件 (github.com/LearnBoost/socket.io/wiki/Authorizing) 2) 没有记录新连接 3) 是的,我这样做了
记录了?在服务器端?还是客户端?
服务器端和客户端
您必须向我们展示更多客户端和服务器的代码。
【参考方案1】:
尝试将选项 'force new connection': true
添加到io.connect
。听起来好像没有重试连接。
除非您指定此选项,否则套接字 IO 不会重新连接到它已经尝试过的主机。
这是一个带有内嵌选项哈希的 sn-p:
io.connect(host,
'force new connection': true
);
您可以在此处了解有关选项的更多信息:https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO
【讨论】:
以上是关于Socket.io 错误处理的主要内容,如果未能解决你的问题,请参考以下文章
WebSocket 握手期间的 Socket.io 错误:意外的响应代码:500 windows server iis