套接字 IO 在一段时间不活动后超时,不起作用,为什么?



我是socket IO的新手,上个月我一直在使用它,但随着时间的推移,我注意到,如果我让我的网站在很短的一段时间内不做任何事情(我不确定有多少),但它似乎超时了,除非我重新加载页面,否则不会调用事件。一定有办法解决这个问题吗?

我的服务器代码:

var io = require('socket.io').listen(4000);
var users = {};
io.disable('heartbeats');
////////////////USER CONNECTED
io.sockets.on('connection', function (socket) {
    socket.emit('connected');
    socket.on('session', function (session) {
    ///all my other functions here
    });
});

然后包括在我的页面上是:

<script>var socket = io.connect("http://<?php print $_SERVER["SERVER_NAME"]?>", 
        {port: 4000, 'reconnect': true,'reconnection delay': 1500});</script>
<script type="text/javascript" src="js/ws/data/data.js"></script>

data.js是我的所有socket io函数面向用户端的地方。

尝试删除此行:

io.disable('heartbeats');

请参阅配置Socket.IO.

最新更新