Я пытаюсь использовать socket.io для отправки сообщения с сервера всем, кто подключен, но клиенты не получают его, почему? - PullRequest
0 голосов
/ 25 ноября 2011

По сути, я хочу отправить каждое изменение, которое происходит в игровом мире, каждому клиенту, и я подумал, что сделаю это так:

SERVER:

/*init*/
    var http = require("http");
    var io = require("socket.io");
    var game_server = http.createServer(handler);
    game_server.listen(8080);
    var game_socket = io.listen(game_server);

    game_socket.configure(function() 
    {
      game_socket.set('log level', 1);
    });

Позже в игре, когда кто-то меняет карту, я отправляю это всем (ну, очевидно, нет):

game_socket.sockets.send("newStatic", {"img":s.img, "id": s.id, "rect": s.rect, "health": s.health});

КЛИЕНТ:

 self.socket.on("newStatic", function(data)
 {
      self.pl.world.push(data);
      console.log(data);
 });

К сожалению, это никогда не называется.

1 Ответ

2 голосов
/ 25 ноября 2011

Socket.IO использует emit для пользовательских сообщений: http://socket.io/#how-to-use

Вы хотите сделать

game_socket.sockets.emit("newStatic", {"img":s.img, "id": s.id, "rect": s.rect, "health": s.health});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...