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');
    });
  • 相关阅读:
    Linux下Git远程仓库的使用详解
    Git单人本地仓库操作
    分布式版本控制系统之Git
    搭建Redis集群
    搭建 Redis 的主从
    Redis与Python进行交互
    Redis的数据类型以及各类型的操作
    Redis服务端和客户端的命令
    配置Redis
    Linux下Redis的安装
  • 原文地址:https://www.cnblogs.com/wjlbk/p/12633329.html
Copyright © 2011-2022 走看看