我正在使用socket.io开发一个node.js应用程序,以便在服务器和客户端之间进行通信。如果服务器面临任何错误,我会向客户端发送错误消息,并关闭服务器和客户端的连接。但是,当客户端尝试重新连接时,它将无法再连接到服务器。我的代码
server.js
[OneDay] [TwoDays] [MoreThanTwoDays]
3 3 2
client.js
io.sockets.on('connection', function(socket) {
/*Some code*/
stream.on('error',function(errormsg){
socket.emit('error',{txt: "Error!"});
socket.disconnect();
});
});
socket.connected的状态为false。我也没有在服务器端收到它。
答案 0 :(得分:2)
我认为您对io.conncet
的通话是同步的,您过早地检查socket.connected
。如果您想验证重新连接是否成功,请尝试如下:
function submitclick()
{
var text="hello";
if(socket.connected ==false) {
socket= io.connect({'forceNew': true});
socket.on('connect', function() {
console.log('Connected!');
});
}
}
修改强>
正如@jfriend00指出的那样,首先可能不需要你socket.disconnect()
,因为socket.io应该自动处理重新连接。