Sia*_*oft 3 android websocket socket.io
我是套接字编程的新手,在一个项目中我使用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");
}
Run Code Online (Sandbox Code Playgroud)
请帮我一个忙!
您无法从客户端使用套接字 io 加入房间。它应该发生在服务器端。
socket.emit('join-room' , roomName or RoomId)
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,你需要发出一个套接字,其中包含你想要加入的房间作为 data ,并且在服务器中,你监听这个套接字并使用已发送的房间的名称或 id 调用 socket.join() 。
socket.on("join-room", new Emitter.Listener() {
@Override
public void call(Object... args) {
room = args[0];
socket.join(room);
}
});
Run Code Online (Sandbox Code Playgroud)
警告:我不懂java,所以对于java开发者来说,如果你看到语法错误,你可以评论我会更新它
希望能帮助到你!
归档时间: |
|
查看次数: |
10035 次 |
最近记录: |