簡體   English   中英

Socket.io沒有加入就聽房間

[英]Socket.io listen to room without join

我想向聽到這個房間的每個人播放一條信息,而不僅僅是誰加入了這個房間。

我確實收到了來自服務器的另一個電話,但我沒有接到任何關於這個'房間'聽眾的電話。

服務器: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();
                    }

                }

            });
        }
    };

據我所知,socket.io沒有聽房間的概念,但沒有加入房間。 如果您想接收發送給房間中的人的消息,請加入房間。 這是加入的唯一目的,因此沒有只是傾聽的加入子集。

如果您正在嘗試完成與加入房間不同的工作,那么請准確描述您要完成的工作,以便我們可以幫助您解決該特定問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM