Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 第二次无法建立socket.io客户端连接大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目前,我正在使用Nodejs express实现API,然后需要连接到socket.io并发送事件.

API位于socket.io-client(客户端)中,它连接到socket.io(服务器)

第一次API调用:成功

连接是为了第一次调用API,发送消息并且可以断开套接字,在客户端和服务器端都调用’disconnect’回调.

第二次API调用:失败

当第二次调用API时,无法建立与服务器的连接,不会调用客户端的“客户端”回调.

第三次API调用:成功

然后我尝试重新启动客户端,保持其他内容不变.再次调用API,并成功连接到socket.io,一切正常.

任何人都可以解释这背后的物流吗?

更新

client.js

App.getByUserId(message.to_id,function(error,app) {
  var  socket = io.connect('http://127.0.0.1:9002');
  socket.on('connect',function(){
  console.log("client connect socket id:" + socket.id);
    console.log("appkey:" + app.private_token);
    socket.emit('appkey.check',{appkey: app.private_token,uuid: message.to_id.uuiD},function(data){
        socket.emit("forceDisconnect");
        socket = null;

    });
});

解决方法

根据你的看法,你只需点击一个Socket.IO的许多“功能”或“错误”. Socket.IO试图变得聪明并重新使用连接(实际上会导致很多连接问题)解决这个问题的方法是使用io.connect中的force new connection选项:

io.connect(‘http://127.0.0.1:9002’,{‘强制新连接’:truE});

如果你使用socket.io转换器,你还可以使用包装Socket.IO的https://github.com/primus/primus.在内部,它完全消除了io.connect的使用,并使用更低级别的io.socket构造函数来创建更稳定的连接,这将通过stock socket.io获得.

大佬总结

以上是大佬教程为你收集整理的node.js – 第二次无法建立socket.io客户端连接全部内容,希望文章能够帮你解决node.js – 第二次无法建立socket.io客户端连接所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。