2
我正在開發一個使用socket.io的node.js應用程序來在服務器和客戶端之間進行通信。如果服務器面臨任何錯誤,我會向客戶端發送錯誤消息,並關閉服務器和客戶端的連接。但是,當客戶端嘗試重新連接時,它不再能夠連接到服務器。我的代碼socket.io在斷開連接後不重新連接
server.js
io.sockets.on('connection', function(socket) {
/*Some code*/
stream.on('error',function(errormsg){
socket.emit('error',{txt: "Error!"});
socket.disconnect();
});
});
client.js
var server_name = "http://127.0.0.1:5000/";
var socket = io.connect(server_name);
socket.on('error',function(data){
console.log(data.txt);
socket.disconnect();
});
function submitclick()
{
var text="hello";
if(socket.connected ==false)
socket= io.connect({'forceNew': true});
console.log(socket.connected);
}
的socket.connected狀態是假的。我也沒有在服務器端收到它。
它現在可以運行:) – user1692342
socket.io的一個主要特性是它可以爲你自動重新連接。如果配置正確,我不明白爲什麼需要手動重新連接它。換言之,正確配置的socket.io代碼不應該包含代碼在你的答案中。建立連接一次,讓socket.io爲您處理重新連接。 – jfriend00
@ jfriend00好的建議 –