我可以使用此库https://github.com/nkzawa/socket.io-client.java连接到socket.io Web服务没问题。我不知道如何连接到特定的命名空间。我查看了测试代码,并认为我可能需要创建一个Manager类。
任何帮助将不胜感激。非常感谢你。
答案 0 :(得分:16)
Manager manager = new Manager(new URI("http://socket.com"));
Socket socket = manager.socket("/my-namespace");
socket.connect();
答案 1 :(得分:0)
以上答案对我不起作用。
实际上此代码有效,请使用最新版本的socket.io客户端版本: https://github.com/socketio/socket.io-client-java
将此添加到您的build.graddle中:
compile ('io.socket:socket.io-client:1.0.0') {
// excluding org.json which is provided by Android
exclude group: 'org.json', module: 'json'
}
然后,您可以使用以下代码段连接到您的命名空间:
Socket socket;
try {
socket = IO.socket(socket_host + "/your_namespace");
} catch (URISyntaxException e) {
Log.d("ERROR :", e.toString());
}
socket.connect();
检查此github问题,其中有更多说明: https://github.com/nkzawa/socket.io-android-chat/issues/8