Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js sockets.io每隔约25秒断开连接(与心跳相关)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用socket.io设置node.js服务器.我看到的问题是我的服务器每25秒断开一次重新连接客户端.

这是我的服务器代码

var io = require('socket.io').listen(5876);
io.sockets.on('connection',function (socket)
{
    console.log("New connection established");

    socket.on('disconnect',function()
    {
        console.log("A client has disconnected.");
    });
}

我的客户端使用socket.io.js分发进行连接.据我所知(显然不正确),我需要我的客户端每15秒发送一次“心跳”(“:: 2”的消息),以防止服务器认为连接已死并断开连接.基本上:

<script src="socket.io.js"></script>
<script>
    var socket = io.connect('http://localhost:5876');

    socket.on('connect',function(data)
    {
        console.log("Connected to server.");
        seTinterval(function() { socket.emit("::2"); console.log("sent heartbeat"); },15000); // schedule a heartbeat for every 15 seconds
    });
</script>

但是客户端仍然每25秒重新连接一次(不包括前25秒).

node.js服务器控制台日志看起来像这样(可能已经删除了一些早期相同的连接/断开阶段,因为它每25秒回显一次):

New connection established
   debug - emitTing heartbeat for client 652791160849839915
   debug - websocket wriTing 2::
   debug - set heartbeat timeout for client 652791160849839915
   debug - got heartbeat packet
   debug - cleared heartbeat timeout for client 652791160849839915
   debug - set heartbeat interval for client 652791160849839915
   info  - transport end
   debug - set close timeout for client 652791160849839915
   debug - cleared close timeout for client 652791160849839915
   debug - cleared heartbeat interval for client 652791160849839915
A client has disconnected.
   debug - discarding transport
   debug - client authorized
   info  - handshake authorized 5961067041159055274
   debug - setTing request GET /socket.io/1/websocket/5961067041159055274
   debug - set heartbeat interval for client 5961067041159055274
   debug - client authorized for
   debug - websocket wriTing 1::
New connection established

如何阻止我的服务器每隔25秒断开重新连接客户端的连接?

解决方法

您使用的是最新版本的socket.io,0.9.1 / 0.9.1-1吗?如果是这样,这是Guillermo确认的已知问题.目前的建议是回滚到0.9.0或0.8.7

https://github.com/LearnBoost/socket.io/issues/777

大佬总结

以上是大佬教程为你收集整理的node.js sockets.io每隔约25秒断开连接(与心跳相关)全部内容,希望文章能够帮你解决node.js sockets.io每隔约25秒断开连接(与心跳相关)所遇到的程序开发问题。

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

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