2013-08-11 3 views
0

У меня проблема с тем, что второй emit() в следующем коде (я выбрал важную часть, если вам нужно больше просто спросить), которая отправляет «stateChange», -Event, похоже, не выполняется. «ID» -Event принимается сервером.nodejs socket.io emit не выполнен

this.socket = io.connect('...'); 
this.socket.emit("ID", {canvasID: this.ID}); 

this.socket.on(PLACE_BUBBLE, function(data){ 
    var node = uCanvas.placeBubble(data.x1, data.y1); 
    this.socket.emit("stateChange", 
     {action : PLACE_BUBBLE, canvasID : this.ID, nodeID : node.nodeID, x : node.x, y : node.y}); 
}); 

Сервер выглядит так:

socketio.sockets.on("connection", function(socket){ 
    socket.on("ID", function(data){ 
     ... 
    }); 
    socket.on("stateChange", function(data){ 
     ... 
    }); 
}); 

placeBubble() выполняется, но там просто нет информации отправить обратно на сервер.

/Решение: проблема была «это» в this.socket.emit, которая должна быть uCanvas.socket.emit(). Это был объект, содержащий сокет.

+0

Добавьте это как ответ и отметьте его как таковое - это очистит это как неотвеченный вопрос – dc5

ответ

0

Решено: проблема была «это» в this.socket.emit, которая должна быть uCanvas.socket.emit(). Это был объект, содержащий сокет.

Смежные вопросы