2017-03-14 6 views
1

誰もが部屋に参加するだけでなく、この部屋を聴くすべての人にメッセージをブロードキャストしたいと思います。Socket.io参加していない部屋を聴く

私はサーバーから別の電話を受けますが、この「ルーム」リスナーの電話はありませんでした。

サーバー:Node.jsの

io.on('connection', function(socket){ 

    console.log('connected'); 

    socket.on('register', function(match) { 
     console.log(match); 
     var resultJSON = JSON.parse(match); 
     socket.join(resultJSON['roomId'], function() { 
      socket.broadcast.emit(resultJSON['roomId'], match); 
     }); 
    }); 

}); 

クライアント:私が知っている最良としてのJava

mSocket.on(roomSelected.getId()), onSelectedRoom); 
private Emitter.Listener onSelectedRoom = new Emitter.Listener() { 
     @Override 
     public void call(final Object... args) { 
      Platform.runLater(new Runnable() { 
       @Override 
       public void run() { 

        try { 
         JsonObject obj = new JsonParser().parse(args[0].toString()).getAsJsonObject(); 
         System.err.println(obj); 
         Match match = new Gson().fromJson(obj, Match.class); 
         updateRoomWith(match); 
        } catch (Exception e) { 
         e.printStackTrace(); 
        } 

       } 

      }); 
     } 
    }; 

答えて

0

、socket.io部屋に耳を傾けるの概念がありませんが、参加しません。部屋。あなたが部屋の人に送信されたメッセージを受信したい場合、あなたはその部屋に参加します。これが参加の唯一の目的であるため、ただ聞いているだけの参加のサブセットはありません。

部屋に入室すると違ったことを達成しようとしている場合は、達成しようとしていることを正確に記述して、その特定の問題を解決できるようにしてください。

+0

@Marckaraujo - これはあなたの質問に答えましたか? – jfriend00

関連する問題