zoukankan      html  css  js  c++  java
  • node如何使用socket.io向指定客户端发送消息

    在node使用socket.io进行websocket通信时,会遇到一个问题 ——服务器如何向指定客户端发送消息,只会群发多么无聊对吧。
    我们知道,客户端与服务器建立链接会触发connection事件

    io.on("connection",function(socket){
        //其他骚操作
    });

    其中,参数socket为服务器与客户端建立连接的socket端口对象,其有一个名为id的属性,该属性可以识别指定客户端。
    在1.0之前,我们是酱紫实现向指定客户端推送消息的

    io.on("connection",function(socket){
        io.sockets.socket(socket.id).emit('message','surprise');
    });

    在1.0之后,我们采用如下方式

    io.on("connection",function(socket){
        if (io.sockets.connected[socket.id]) {
            io.sockets.connected[socket.id].emit('message','surprise');
        }
    });

    这里先判断一下对应sockeid存不存在,如果不存在则意味着对方没有在线上,我们需要做对应的处理使对方上线后可以收到消息,我的做法是先保存到数据库中,等上线之后从数据库中读取离线时没有收到的消息。
    另外,还可以这样做

    io.on("connection",function(socket){
        io.to(socket.id).emit('message','surprise');
    });
  • 相关阅读:
    一、left
    padding溢出
    一、
    Python创建、删除桌面、启动组快捷方式的例子分享
    openstack常见问题解决方法总结
    __attribute__ 详解
    __ATTRIBUTE__ 知多少?
    CentOS如何设置终端显示字符界面区域的大小
    shell使用技巧
    openstack 安全策略权限控制等api接口
  • 原文地址:https://www.cnblogs.com/wjlbk/p/12633329.html
Copyright © 2011-2022 走看看