我的socket.io代码有问题。
服务器使用socket.io 0.9.6 在android上我使用来自nkzawa的socket-io-client-0.1.3.jar和engine-io-client.0.2.3.jar
与myChannel
连接后,会发出myConnect
。之后,如果某些内容随新值发生变化,我总会收到“something_changed”消息。我在js中的版本工作正常,但在android上我只得到:
EVENT_CONNECT_ERROR: com.github.nkzawa.engineio.client.EngineIOException: xhr poll error
任何想法如何解决?
socket = IO.socket(WEBSOCKET + "myChannel");
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
socket.emit("myConnect", userinfo);
}
}).on(Socket.EVENT_CONNECT_ERROR, new Emitter.Listener() {
@Override
public void call(Object... arg0) {
Log.e("EVENT_CONNECT_ERROR", arg0[0].toString());
}
}).on("something_changed", new Emitter.Listener() {
@Override
public void call(Object... args) {
JSONObject obj = (JSONObject) args[0];
Log.i("something_changed", obj.toString());
}
});
socket.connect();
答案 0 :(得分:0)
我遇到了同样的问题。它是由于互联网访问权限造成的。
在清单中添加互联网权限。
<uses-permission android:name="android.permission.INTERNET" ></uses-permission>
它应该工作。