socket.io发出回调而不是触发

时间:2013-11-26 15:20:28

标签: javascript node.js sockets socket.io

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');不起作用。回调不开火

2 个答案:

答案 0 :(得分:0)

错字:(

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

答案 1 :(得分:0)

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

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

    :
    :

self.socket.on('connect', function() {
    self.login();
}