Socket.io如何检查连接(android)

时间:2015-12-02 18:13:07

标签: android socket.io chat

抱歉我的英文。我不知道如何检查连接到Android设备。我认为它的确如此mSocket.connected()返回truefalse但它的返回始终为false。我喜欢这个:

//code

try{
            mSocket = IO.socket("http://10.0.0.4:8080");
        }catch (URISyntaxException e) {
            Log.e("connect0", "error");
        }

        mSocket.connect();
        imChat();
//code
}

public void imChat() {

 mSocket.once(Socket.EVENT_CONNECT, new Emitter.Listener() {
            @Override
            public void call(Object... args) {
                try {
                 Log.e("connect", "connect");
                } catch (Exception e) {
                    Log.e("error", e.toString());
                }

            }
        }).on(Socket.EVENT_DISCONNECT, new Emitter.Listener() {
            @Override
            public void call(Object... args) {
                try {
                    Log.e("disconnect", "disconnect");

                } catch (Exception e) {
                    Log.e("exception", e.toString());
                }
            }
        });

//always false
Log.e("connect is", String.valueOf(mSocket.connected()));
}

1 个答案:

答案 0 :(得分:1)

对于迟到的回复感到抱歉,但其他人可能会觉得这很有用: 在回答您的问题时,只需检查连接

if (socket.connected()==true){ //DO STUFF }

您可以添加一些代码检查连接错误或错误。像:

         `.on(Socket.EVENT_ERROR, new Emitter.Listener() {
                @Override
                public void call(Object... args) {
                    for(Object o : args){
                        println "object: " + o.toString()
                        if(o instanceof SocketIOException)
                            ((SocketIOException) o).printStackTrace();
                    }
                }

            })`