2017-03-14 10 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); 
     }); 
    }); 

}); 

클라이언트 : 자바

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