Я пытался подключить два устройства Android (2.1) через сокеты TCP. Жизненно важная часть кода:, соединяющий два устройства Android через TCP-сокеты
Сервер: ServerSocket serverSocket = new ServerSocket (SERVERPORT);
Клиент: Розетка = новое гнездо (serverAddr, SERVERPORT);
Странно, что я могу заставить его работать, если клиент является эмулятором, но тот же код выходит из строя, если он работает на реальных устройствах. Провал в стороне клиента является:
java.net.SocketException: No route to host
at org.apache.harmony.luni.platform.OSNetworkSystem.connectSocketImpl(Native
Method)
at org.apache.harmony.luni.platform.OSNetworkSystem.connect(OSNetworkSystem.
java:114)
at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:
245)
at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:
220)
at java.net.Socket.startupSocket(Socket.java:780)
at java.net.Socket.(Socket.java:314)
Я попытался с Wi-Fi и мобильной сети тоже, они были в той же подсети, оба раза, разрешение в Интернет, то сервер адресуется через реальный 192.168 .. IP ,
Я планирую изменить реализацию сокета с помощью setCustomSocketImplFactory().
Проблема имеет решающее значение в процессе внедрения протокола MSRP для Android.
Может ли кто-нибудь дать мне совет?
Что вы имеете в виду реальный IP, если программы работают на двух мобильных телефонах? – 2010-08-03 07:19:30
Я только что пытался сказать, что проблема заключается не в том, что я использую 10.0.2.15 IP для реальных устройств. – Diepie