socket.io-client与socket.io服务器0.9.6的连接问题

时间:2014-10-11 09:30:46

标签: java android websocket socket.io

我的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();

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。它是由于互联网访问权限造成的。

在清单中添加互联网权限。

<uses-permission android:name="android.permission.INTERNET" ></uses-permission>

它应该工作。