我刚开始使用socket.io.js,并试图在我向客户端发送消息时立即获得在服务器上执行的函数。我的代码如下,socket.io - 服务器上的回调函数emit()没有执行
服务器:
server.on('connection', onConnect);
var id = 0;
function onConnect(socket) {
socket.emit('myMsg', {id: ++id}, function() {console.log('id callback on server');});
}
客户端:
iosocket.on('myMsg', function(data, callback) {
console.log('id:', data.id, callback);
});
但是我看到的回调函数显示为客户端上的 '未定义'。从我阅读的文档中我认为这应该起作用(https://github.com/LearnBoost/Socket.IO/wiki/Migrating-0.6-to-0.7+),那么有人请让我知道我在这里做错了什么?
我怀疑它的问题,但它应该是'函数的onConnect(插座){' – generalhenry 2013-04-22 18:07:37
在(你)'iosocket.on(...)'只得到一个说法,一个对象'data'回调,'socket.emit(...)'只接受两个参数,一个'id'和一个对象'data'。 – dualed 2013-04-27 08:14:43