2014-10-11 114 views
1

我的android socket.io代碼有問題。socket.io-client與socket.io服務器的連接問題0.9.6

服務器使用socket.io 0.9.6 Android上我使用的插座-IO-客戶0.1.3.jar和發動機-IO-client.0.2.3.jar從nkzawa

後發射到myChannel a 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

我面臨同樣的問題。這是因爲互聯網訪問權限造成的。

在清單中添加Internet權限。

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

它應該工作。