Я пытаюсь открыть сокет для удаленного сервера, но я хочу получить исключение, если другая сторона не отвечает.По какой-то причине любой IP-адрес, который я пробую с PORT 80, кажется, «соединяется», даже если это совершенно случайный IP-адрес.
Я постараюсь передать проблему на примере.
Этоистечет время ожидания и выдаст исключение:
Socket s = new Socket();
s.connect(new InetSocketAddress("1.2.3.4", 81), SOME_TIMEOUT_CONST);
С другой стороны, следующее будет продолжаться в обычном режиме, как если бы оно успешно подключилось:
Socket s = new Socket();
s.connect(new InetSocketAddress("1.2.3.4", 80), SOME_TIMEOUT_CONST);
Кажется, я не могу понять,причина для этого.
Если это ожидаемое поведение, как я могу проверить, что в случае 2 оно фактически не подключалось?
Редактировать: Я запустил тот же код на компьютере другаи в обоих случаях истекло время ожидания и возникло исключение.Так что, наверное, что-то с моим Mac.Понятия не имею, что ...