如何确定通过socket.io收到的消息已发送给客户端?

如何确定通过socket.io收到的消息已发送给客户端?,第1张

如何确定通过socket.io收到的消息已发送给客户端

定义事件处理程序时,应使用callback参数。

一个典型的实现如下:

客户端

var socket = io.connect('http://localhost');socket.emit('set', 'is_it_ok', function (response) {    console.log(response);});

服务器端

io.sockets.on('connection', function (socket) {    socket.on('set', function (status, callback) {        console.log(status);        callback('ok');    });});

现在,检查服务器端的控制台。它应该显示“ is_it_ok”。接下来在客户端检查控制台。它应该显示“确定”。那就是确认信息。

更新资料

一个socket.io连接本质上是持久的。以下内置函数可让您根据连接状态采取措施。

socket.on('disconnect', function() {} ); // wait for reconnectsocket.on('reconnect', function() {} ); // connection restored  socket.on('reconnecting', function(nextRetry) {} ); //trying to reconnectsocket.on('reconnect_failed', function() { console.log("Reconnect failed"); });

使用上面显示的回调选项实际上是以下两个步骤的组合:

socket.emit('callback', 'ok') // happens immediately

在客户端

socket.on('callback', function(data) {    console.log(data);});

因此,您无需使用计时器。回调将立即运行,除非连接具有以下任何状态-“断开连接”,“正在重新连接”,“重新连接失败”。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5173417.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存