私は接続されているすべての人にサーバーからのメッセージを送信するのにsocket.ioを使用しようとしていますが、クライアントはそれを受け取りません、なぜですか?

基本的には、ゲームの世界で起こったすべての変化をすべてのクライアントに送信したいと思っています。

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);
 });

これは、残念ながら、決して呼ばれることはありません。

0
私はそれを行うのが最善の方法だとは思わないので、ドキュメントを見てください。 socket.io/ #ハウツー使用方法
追加された 著者 Farid Nouri Neshat,
もちろん、それは動作しません;)
追加された 著者 corazza,

1 答え

Socket.IO uses emit for custom messages: http://socket.io/#how-to-use

あなたはやりたい

game_socket.sockets.emit("newStatic", {"img":s.img, "id": s.id, "rect": s.rect, "health": s.health});
2
追加された
これは動作します、ありがとう!
追加された 著者 corazza,