Я хотел бы подключиться по TCP к машине, учитывая ее IP-адрес и порт. Я решил использовать класс JAVA java. net .Socket и метод его подключения, который, как мне кажется, соответствует моим потребностям.
Для целей тестирования, поскольку машины, которые мне нужно тестировать, еще не установлены я попытался подключить локальный компьютер к стандартному порту 80.
Но я был очень удивлен, увидев, что он преуспел с любым IP-адресом, даже с неизвестным: я не могу "пропинговать" его, но метод подключения дает мне успех ...
Я что-то пропустил в JAVA Разъёме сокетов? Как такое поведение возможно?
Вот мой код:
private void testSocketConnection() {
try (Socket socketToMachine = new Socket()) {
InetSocketAddress address = new InetSocketAddress(InetAddress.getByName("1.2.3.4"), 80);
socketToMachine.connect(address, 1000);
System.out.println("SUCCESS");
} catch (UnknownHostException uhe) {
System.out.println("UnknownHostException");
} catch (IOException ioe) {
System.out.println("IOException");
}
}