【问题标题】:socket.io emit callback not firingsocket.io 发出回调未触发
【发布时间】:2013-11-26 15:20:28
【问题描述】:
function MainController () {
 var self = this;

self.mainInfo = null;

self.socket = io.connect('http:/192.168.56.101:3000');

self.login = function () {
self.socket.emit("login", "Hello");
}


self.socket.on('welcome', function () {
console.log('welcome');
});

self.socket.on('player leave', function () {
console.log('leave');
});


self.login();
};

上面是前端代码。我可以接收发出的消息,谷歌浏览器记录传入的消息

5:::{"name":"welcome"}

但是 console.log('welcome');不起作用。回调不会触发

【问题讨论】:

    标签: javascript node.js sockets socket.io


    【解决方案1】:

    一个错字:(

     self.socket = io.connect('http://192.168.56.101:3000');
    

    【讨论】:

      【解决方案2】:

      您需要将 self.login() 放在 'connect' 事件处理程序中,因为在调用 login() 时,不能保证连接已建立。

      self.socket = io.connect('http://192.168.56.101:3000');
      
          :
          :
      
      self.socket.on('connect', function() {
          self.login();
      }
      

      【讨论】:

        猜你喜欢
        • 2013-03-14
        • 2011-10-09
        • 1970-01-01
        • 1970-01-01
        • 2013-12-18
        • 1970-01-01
        • 2011-02-12
        • 2020-08-08
        相关资源
        最近更新 更多