Как создать сокет Java, который является localhost только?

У меня есть сервер Java, который открывает использование сокета ServerSocket (использующий Экономию с ним). Этот сервер имеет клиент на локальной машине в Obj-c, который связывается с сервером Java. Все происходит на localhost. Прямо сейчас сервер Java видим в сети также, я хотел бы, чтобы сервер Java только был доступен на localhost. Иначе это - потенциальная уязвимость системы обеспечения безопасности, и это волнует пользователей, когда их брандмауэр предупреждает их.

Я пытался создать сокет сервера с помощью InetSocketAddress ('localhost', 9090), но это, кажется, не имеет никакого эффекта. Как я могу ограничить эту вещь localhost?

31
задан Matt Ronge 5 February 2010 в 04:35
поделиться

3 ответа

Попробуйте

new ServerSocket(9090, 0, InetAddress.getByName("localhost"))

Последний параметр конструктора указывает, к какому адресу привязать прослушивающий сокет.

21
ответ дан 27 November 2019 в 21:41
поделиться
new ServerSocket(9090, 0, InetAddress.getByName(null));
3
ответ дан 27 November 2019 в 21:41
поделиться

Взято из другого вопроса:

new ServerSocket(9090, 0, InetAddress.getByName(null));

InetAddress.getByName (null) указывает на адрес обратной связи (127.0.0.1)

И здесь документ Javadoc, где говорится, что

40
ответ дан 27 November 2019 в 21:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: