处理断开的套接字

时间:2014-09-25 16:15:32

标签: java android sockets

我已经在我的应用程序中实现了socket,当然它正在与服务器进行通信,我的问题是我无法确定套接字何时出现以下情况。

1)iam连接到具有活动互联网连接的wifi并且具有有效的套接字连接并且我的互联网连接断开

2)当我连接到2g / 3g互联网连接时,有时套接字连接断开

在上述情况下,我无法确定是否存在活动的套接字连接。是否有任何方法可以在Android中实现此目的?

请帮忙......

1 个答案:

答案 0 :(得分:0)

看看Android的Determining and Monitoring the Connectivity Status

  

您可以使用ConnectivityManager检查您是否确实已连接到互联网,如果是,则确定了哪种类型的连接。

有一些示例代码:

ConnectivityManager cm =
        (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
                      activeNetwork.isConnectedOrConnecting();

此外,

  

只要连接详细信息发生更改,ConnectivityManager就会广播CONNECTIVITY_ACTION(“android.net.conn.CONNECTIVITY_CHANGE”)操作。您可以在清单中注册广播接收器以收听这些更改并相应地恢复(或暂停)您的后台更新。

<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>