【发布时间】:2015-10-08 20:55:20
【问题描述】:
我可以使用这个库 https://github.com/nkzawa/socket.io-client.java 连接到 socket.io Web 服务没有问题。不过,我无法完全弄清楚如何连接到特定的命名空间。我查看了测试代码并认为我可能需要创建一个 Manager 类。
任何帮助将不胜感激。非常感谢。
【问题讨论】:
-
请添加重现您的问题的代码。
我可以使用这个库 https://github.com/nkzawa/socket.io-client.java 连接到 socket.io Web 服务没有问题。不过,我无法完全弄清楚如何连接到特定的命名空间。我查看了测试代码并认为我可能需要创建一个 Manager 类。
任何帮助将不胜感激。非常感谢。
【问题讨论】:
Manager manager = new Manager(new URI("http://socket.com"));
Socket socket = manager.socket("/my-namespace");
socket.connect();
【讨论】:
以上答案对我不起作用。
实际上这段代码有效,请使用最新版本的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'
}
然后你可以使用这个 sn-p 连接到你的命名空间:
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
【讨论】: