0
我开发了一个Android应用程序,它在Wifi AP模式下作为Socket服务器工作。某些客户端使用我的应用程序设置Wifi连接和套接字连接当套接字连接时,我断开与客户端的Wifi连接,但是在我的服务器应用程序中没有异常,也没有套接字的读取方法返回-1。我的问题是:当Wifi断开时,Android服务器端的Socket如何知道?
- 如何检测破wifi连接
- 如何检测哪些客户端的WiFi连接断开
感谢。
我开发了一个Android应用程序,它在Wifi AP模式下作为Socket服务器工作。某些客户端使用我的应用程序设置Wifi连接和套接字连接当套接字连接时,我断开与客户端的Wifi连接,但是在我的服务器应用程序中没有异常,也没有套接字的读取方法返回-1。我的问题是:当Wifi断开时,Android服务器端的Socket如何知道?
感谢。
在一个线程
public static boolean checkNetworkConnection(Context context)
{
final ConnectivityManager connMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi =connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobile =connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if(wifi.isAvailable()||mobile.isAvailable())
return true;
else
return false;
}
由于使用此。但在我的情况下,我的AP有几个Wifi连接。 getNetworkInfo()方法返回哪一个? – yinhao
@yinhao尝试WifiManager wifi =(WifiManager)(this.getSystemService(Context.WIFI_SERVICE)); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); wifiInfo有一些状态 – zt9788
再次感谢您的回复。但是有几个Wifi连接。 getConnectionInfo返回哪一个?我认为这种方法在Wifi客户端而不是AP服务器端使用。因为在客户端,只有一个Wifi连接。 – yinhao