Android连接服务器套接字时不时拒绝连接

时间:2013-01-10 00:07:20

标签: android sockets networking serversocket

所以我有一个应用程序可以在同一个本地网络中相互通信Android设备。他们通过建立与serversocket的连接,交换数据和关闭连接(每分钟)来定期相互通信。

出于某种原因,它适用于前几次尝试,然后他们开始每次都拒绝connectoin。任何人都可以告诉我可能是什么原因?

我的代码非常简单:

server = new ServerSocket(0);
while(true) {
    Socket clientSocket = server.accept();
    Log.d(TAG, "Incoming connection");
    handleClient(clientSocket);
}

连接时:

    Socket s = new Socket(si.getInet4Addresses()[0], si.getPort());
    doStuff(s)

我拥有以下权限:

    <manifest>
      ....
      <uses-permission android:name="android.permission.INTERNET"/>
      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
      <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
      <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
      <uses-permission android:name="android.permission.WAKE_LOCK"/>
      <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
      <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
      <application
        <activity>
          ...
          <intent-filter>
            ...
          </intent-filter>
        </activity>
        <service .. />
        <receiver >
           ....
        </receiver>
      </application>
    </manifest>

哦,我应该提一下这一切都发生在服务中。

0 个答案:

没有答案