【问题标题】:How to Callback socket.io client using sails.sockets.js onconnect event?如何使用sails.sockets.js onconnect事件回调socket.io客户端?
【发布时间】:2017-04-04 17:47:09
【问题描述】:

无法在服务器端使用sails.sockets.js onConnect 事件调用套接字客户端侦听器..

例如

onConnect: function(session, socket) {
    socket.on('chat message', function(msg){
        console.log(msg);
        console.log("socket.id: " + socket.id);
        sails.sockets.broadcast(socket.id, 'chat message', {msg:msg});
    });
}

请告诉我使用 onConnect 等套接字服务器事件回调套接字客户端的正确方法是什么。

【问题讨论】:

    标签: javascript node.js websocket socket.io sails.js


    【解决方案1】:

    如果您使用的是标准sails.js 套接字库:

    $(document).ready(function() {
        io.socket.on('connect', function() {
    
        });
    
    
        io.socket.on('chat message', function(data) {
            io.socket.post('/routeToAction', {
    
            }, function(data, jwres) {
    
            });
        });
    });
    

    【讨论】:

      【解决方案2】:

      对于较新的版本,您必须使用 config/bootstrap.js 文件来监听事件

      module.exports.bootstrap = function(cb) { 
      
          // handle connect socket first event executes after logged in
          sails.io.on('connect', function (socket){
              // store facebook token here
          });
      
          // handle custom listener for other stuff
          sails.io.on('doSomeStuff', function (socket){
              // check facebook token match with requested token
          });
      cb();
      };
      

      客户端:您可以在使用 facebook 登录后简单地发出“doSomeStuff”并在每个请求中传递令牌

      【讨论】:

        【解决方案3】:

        我终于成为了知道通过 websockets 来回推送技术的 web sockets 小专家..

        如何从 websockets 开始: 第 1 步:为您的应用程序选择任何 websocket 框架,并在客户端安装 socket 客户端,在服务器端安装带有监听器的 socker 服务器(imp.)。

        第 2 步:一旦您准备好双方的套接字设置,那么您的客户端/浏览器将在每次页面加载后建立连接,该连接在服务器端通过 onConnect 侦听器或事件进行侦听。

        第 3 步:成功连接双方,为您提供包含在服务器端管理的每个客户端套接字 ID 的套接字对象,以加入任何频道/房间或只是进行广播或爆炸。 记住:

        我。 Socket 对象负责在客户端和服务器端定义监听器。使用套接字对象,您可以将任何数据传递给侦听器。

        二。当您尝试将数据从客户端推送到服务器时,套接字连接非常有用,反之亦然。

        三。如上所述,一旦你了解了它,你就可以用它来制作你的小聊天工具。

        很快就会分享类似的工作 sn-p..

        //服务器端的onConnect事件 onConnect:函数(会话,套接字){ console.log("Socket 连接成功:" + socket.id );

        socket.on('chatAgency', function(data){
        sails.sockets.broadcast(data.agencyId,"chatAgency",  {message:data.message,agencyId:session.agencyId});
        });
        

        },

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-02-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-02-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多