При попытке создать сокет в виртуальной машине, запущенной в системе vxWorks, я получаю довольно странное исключение SocketException, которое прерывается. Я не смог изолировать то, что вызывает исключение. Без изменения каких-либо внешних факторов успешное соединение кажется случайным.SocketException: errno = 0x44
Вот вершина трассировки стека (от того, где он входит в java.net):
(0000069317) java.net.SocketException: errno2: 68, error: errno = 0x44 for fd: 38 (0000069323) at java.net.PlainSocketImpl.socketConnect(Native Method) (0000069326) at java.net.PlainSocketImpl.doConnect(Unknown Source) (0000069329) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) (0000069366) at java.net.PlainSocketImpl.connect(Unknown Source) (0000069372) at java.net.Socket.connect(Unknown Source)
Блок бросает исключение, как показано ниже:
socket = new Socket();
socket.connect(addr, CONNECT_TIMEOUT);
Где addr
является Java. net.SocketAddress.
Может ли кто-нибудь дать представление о том, что такое errno 0x44?
Злой, приветствие информации. Когда я перешел на 'connect (SocketAddress)', он теперь выдает NoRouteToHostException с errno = 0x3c. –
@ Ким Берджесс: Хорошо, может быть несколько причин «Нет маршрута к хосту»: неправильный целевой IP, сетевая маска интерфейса неверна .... – SKi
Какая нечетная часть, так как она успешно разрешает 'addr' с хоста имя непосредственно перед попыткой соединения сокета. Устройство, на котором работает, может также подключить устройство, к которому подключается сокет. –