【发布时间】:2017-03-24 04:32:54
【问题描述】:
我有一个 android 应用程序,它连接到套接字并在 onCreate 方法上发出 connectionData 事件。
// connect to socket
private Socket socket;
{
try {
socket = IO.socket(AppConfig.URL_SOCKET_IO);
} catch (URISyntaxException e) {
Log.e(LOG_TAG, "error");
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// emit connect and connection data socket
socket.connect();
socket.emit("connectionData", currPlayer.getPlayerID());
}
在服务器端,有activeSockets HashMap 存储<connectionData, socket> 数据。当应用程序中的 Internet 连接丢失时,服务器会捕获 disconnect 事件并从 HashMap 中删除套接字。当应用重新连接到互联网时,它也会连接到套接字,但应用不会再发出connectionData,因为它只会在活动创建后发生。
如何检测到应用重新连接到客户端的套接字,以便我可以再次发出connectionData?
【问题讨论】: