我是套接字编程的新手,在一个项目中,我正在使用Socket.IO-client Java在android设备和服务器之间创建套接字连接。服务器端开发人员要求我连接到服务器,然后加入特定的房间/通道。我对第一部分没问题,但是我如何才能通过套接字加入一个房间?
我的代码如下:
private void ConnectAndJoin() {
Log.e("starting:","starting!");
final Socket socket;
try {
socket = IO.socket("http://192.168.1.6:5000");
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
socket.emit("foo", "hi");
Log.e("status:","connected- sent");
socket.
}
}).on("event", new Emitter.Listener() {
@Override
public void call(Object... args) {
Log.e("status:","event2");
}
}).on(Socket.EVENT_DISCONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
Log.e("status:","disconnected");
}
});
socket.connect();
} catch (URISyntaxException e) {
Log.e("status:","done with error");
}
请给我一个帮助!
您不能从客户端加入带有io套接字的房间。它应该发生在服务器端。
socket.emit('join-room' , roomName or RoomId)
为了解决这个问题,您需要发出一个套接字,其中包含您要加入的房间作为数据,然后在服务器中侦听此套接字,并使用已发送房间的名称或ID调用socket.join()。
socket.on("join-room", new Emitter.Listener() {
@Override
public void call(Object... args) {
room = args[0];
socket.join(room);
}
});
警告:我不知道Java,因此对于Java开发人员,如果您看到语法错误,可以发表评论,我会对其进行更新
希望能帮助到你!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句