对不起我的英语不好。我不知道如何检查连接到android设备。我认为它的确像这样mSocket.connected()
它的返回true
或false
但它的返回总是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()));
}
最佳答案
很抱歉收到您的回复,但其他人可能会发现这很有用:
在回答您的问题时只需检查连接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();
}
}
})`