[英]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.