Tag: 心跳

如何获取一个Node.js socket.io clien的套接字id

当我运行我的nodeJS代码,我发现一些心跳正在为客户端socketid发射。 这里是debugging代码 – debugging – 为客户端D2ce41SGs_Rp-qiRKndU发射心跳 debugging – websocket写作2 :: debugging – 为客户端D2ce41SGs_Rp-qiRKndU设置心跳超时 debugging – 获取心跳数据包 debugging – 清除客户端D2ce41SGs_Rp-qiRKndU的心跳超时 debugging – 为客户端D2ce41SGs_Rp-qiRKndU设置心跳间隔 有什么办法来获得客户端的socket_id。 在这种情况下,它是 – > D2ce41SGs_Rp-qiRKndU

SocketIO广播太快了

我想每秒向每个客户端发送一条消息(将其视为自定义心跳机制)。 因此,NodeJS应用程序启动,套接字被创build,当我从客户端应用程序连接心跳消息广播。 我仍在开发客户端应用程序,这意味着始终打F5并重新加载应用程序。 新的客户端SocketIO连接是在加载时创build的,这会导致心跳消息以高于1个消息/秒的速度进入客户端应用程序。 代码 – 服务器端没有什么特别的地方: var server = http.createServer(app); var io = require('socket.io').listen(server); server.listen(8080); io.sockets.on('connection', function(socket) { … setInterval(function() { console.info('broadcasting heartbeat'); socket.broadcast.emit('heartbeat', /* custom heartbeat*/); }, 1000); … }); 客户端: var socket = io.connect('localhost', { 'reconnect': false, port: 8080 }); socket.on('heartbeat', function(data) { console.log('heartbeat'); }); 有人可以给我一些build议有什么不对吗? 谢谢

禁用Socket.io检测信号(Node.js)

socket.io文档提到可以像这样禁用心跳: io.disable('heartbeats'); 不幸的是,虽然这似乎阻止了发送的聆听,但是当不发送聆听时,客户仍然断开连接。 以下内容不起作用: io.set('heartbeats', false); 我试图设置一些间隔为0,没有成功: io.set('heartbeat timeout', 0); io.set('heartbeat interval', 0); 有什么build议可以正确地禁用心跳?

node.js sockets.io断开每25秒(心跳相关)

我试图设置一个node.js服务器,使用socket.io。 我看到的问题是,我的服务器每隔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 […]

在Socket.IO中,'心跳'是一个可以用来触发其他操作的事件吗?

这个确切的代码不起作用,但是,我希望是这样的: io.sockets.on('connection', function(socket) { socket.on('heartbeat', function() { // Do something here… }); }); 是这样的可能吗? 我的意思是,我知道我可以做一个不同的函数,使用setInterval触发每个15秒: io.sockets.on('connection', function(socket) { setInterval(function() { // Do something },15000); }); 但是由于心跳已经在这个时间间隔,所以为什么不使用它呢? 无论如何,任何洞察力将不胜感激。