抱歉我的英文。我不知道如何检查连接到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()));
}
答案 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();
}
}
})`