Kas*_*sen 11 javascript node.js socket.io
我似乎无法找到如何为socket.io设置心跳选项?我希望能够指定"timemout"发生时会发生什么,以及服务器在一段时间内没有得到客户端的任何响应.
由于某种原因,断开连接事件并不总是触发,即使它已经超过一小时没有连接客户端.这通常发生在独立的Java socket.io客户端上
Tho*_*lle 17
Socket.IO使用engine.io,它允许你指定ping间隔和ping超时,如下所示:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http, {'pingInterval': 2000, 'pingTimeout': 5000});
Run Code Online (Sandbox Code Playgroud)
(2秒间隔和5秒超时只是一个例子.它可能会频繁用于您的用例)
对我来说,以下工作:
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
io.set('heartbeat timeout', 4000);
io.set('heartbeat interval', 2000);
Run Code Online (Sandbox Code Playgroud)
对于包依赖版本:
"express": "^4.12.3",
"socket.io": "1.0"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20208 次 |
| 最近记录: |