【发布时间】:2016-03-28 02:33:26
【问题描述】:
我正在使用org.java_websocket.WebSocket 在我的 Android 设备上创建一个 Websocket 服务器。我在桌面上连接了客户端。
我想在 WiFi 不可用时关闭服务器并通知客户端断开连接。发生的情况是,当我有如下广播接收器时,它会关闭服务器,但客户端很长一段时间都没有意识到这一点。这有什么原因吗?
public void onReceive(Context context, Intent intent) {
ConnectivityManager conMngr = (ConnectivityManager)context.getSystemService(context.CONNECTIVITY_SERVICE);
NetworkInfo wifi = conMngr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobile = conMngr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
// Perform operations here to shut down web socket server
}
基本上当 Wifi 不可用时,我希望能够关闭服务器并通知客户端。为什么当我为每个连接执行conn.close() 时,我在桌面客户端上没有收到通知?
另外,我的一个客户是使用 Starscream (https://github.com/daltoniam/Starscream) 的 Mac 客户端。不知道有什么我应该注意的。
【问题讨论】:
标签: android websocket java-websocket