Какова точная разница между «Соединение истекло» и «Не удалось подключиться» в java. net .SocketTimeoutException? - PullRequest
2 голосов
/ 10 марта 2020

В моем журнале я мог найти два исключения SocketTimeout.

1. SocketTimeoutException: время ожидания соединения

Caused by: java.net.SocketTimeoutException: Connection timed out  
at java.net.PlainSocketImpl.socketConnect(Native Method)    
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) 
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)  
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)   
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)   
at java.net.Socket.connect(Socket.java:589) 
...

2. SocketTimeoutException: не удалось подключиться к ..

java.net.SocketTimeoutException: failed to connect to somedomain.com/123.123.123.44 (port 80) after 30000ms
at libcore.io.IoBridge.connectErrno(IoBridge.java:169)
at libcore.io.IoBridge.connect(IoBridge.java:122)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:456)
at java.net.Socket.connect(Socket.java:882)
...

В чем различия между Время ожидания подключения и не удалось подключиться к ?

1 Ответ

2 голосов
/ 10 марта 2020

Слова означают одно и то же, поэтому я предполагаю, что исключения указывают на одно и то же.

Различные сообщения связаны с использованием двух разных реализаций сокетов.

  • В первом случае используется стандартная реализация сокета Java plain (non-SSL); т. е. значение по умолчанию Java SE.

  • Во втором случае используется реализация IOBridge, которая используется в Android.

Похоже, что некоторые из ваших журналов приходят с Android устройств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...