Podczas łączenia się z serwerem z gniazdem klienta Java miałem dwa różne wyjątki limitu czasu połączenia.java.net.SocketTimeoutException kontra java.net.ConnectException
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:381)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
sprawdziłem dokumentację ale SocketTimeoutException
jest napisane, że „Sygnały, że limit czasu wystąpił na gnieździe czytać ani akceptować”, ale to nie jest sytuacja w moim przypadku. Ponieważ dostaję go podczas ustanawiania połączenia.
Jaka jest różnica między tymi dwoma wyjątkami? Właściwie spodziewałem się coraz ConnectException
w jakikolwiek problem z połączeniem (firewall, port w dół, itd)
Czy ustanowienie połączenia z gniazdem nie jest odczytywane ani akceptowane? – Raj
@Raj Nie, jest to związane z * 'connect()' * lub 'accept().' Nie ma to nic wspólnego z 'read().' – EJP
@EJP Tak, zgadzam się ale chodzi mi o to "Sygnały" że nastąpił timeout na gnieździe czytanym lub akceptowanym. " ale to nie jest situtaion w moim przypadku. "I starałem się przekazać Jeśli próbujesz się połączyć, to zaliczasz się do jednej kategorii, w tym przypadku nie czytaj, ale akceptuj – Raj