2014-12-02 4 views
3

У меня есть приложение, приложение соединяет два телефона, используя точку доступа для отправки/recv-файла. Один телефона создание точки доступа (Wi-Fi точка доступ), подключить другой телефон, используя горячую точку ниже кода:Соедините wifi hotspot телефонную ошибку: ENETUNREACH

  mSocket = new Socket(); 

      try { 

       mSocket.setReuseAddress(true); 
       mSocket.bind(null); 
       mSocket.setPerformancePreferences(0, 1, 2); 
       mSocket.setTcpNoDelay(true); 
       mSocket.setSoLinger(true, 0); 
       mSocket.setKeepAlive(true); 

       mSocket.connect(new InetSocketAddress(mConnection.getServerAddress(), 
         mConnection.getServerPort()), SOCKET_CONNECT_TIMEOUT); 

      //operation here.... 
      } catch (SocketException e) { 
       ((HotSpotConnection)mConnection).getlocalip(); 
       LogUtils.LOGE(LOG_TAG, "init exception:" + e.toString()); 
      } catch (IOException e) { 
       LogUtils.LOGE(LOG_TAG, "init exception:" + e.toString()); 
      } 

и я получил ошибку ниже:

E/MyTestWifiThread(18918): init exception:java.net.ConnectException: 
failed to connect to /192.168.43.1 (port 9876) after 30000ms: 
isConnected failed: ENETUNREACH (Network is unreachable) 

Почему не удается подключиться к горячим точкам телефона, я уверен, что телефонный номер hotspot по умолчанию 192.168.43.1? потому что я пинговал 192.168.43.1, и телефон с горячей точкой ответил.

+0

У меня проблема такая же и сегодня. какие-либо рекомендации по отладке для этого вопроса? – gladman

ответ

0

Я столкнулся с этой проблемой раньше. и это работает для меня.

Измените способ связи для сокетов.

Попробуйте открыть сокет сервера на клиенте, который подключается к точке доступа, и создайте клиентский сокет на устройстве привязки для подключения к серверному сокету.

Android connect to tethering socket

это может помочь !!

Смежные вопросы