写在前面:一般情况下是不会去考虑这些的,但是如果把SocketIOClient放入缓存中,就有可能在onDisconnect中未把SocketIOClient去除掉,尤其是多点登录的情况下。所以本文写一些自己理解的方法用来判断SocketIOClient是否仍然连接。
方法一:添加设置超时的回调函数
调用SocketIOClient中的void sendEvent(String name, AckCallback<?> ackCallback, Object ... data);
比如:
final boolean[] result = {false};
socketIOClient.sendEvent(eventname, new VoidAckCallback(1000) {
@Override
protected void onSuccess() {
result[0] =true;
}
},message);