HttpServletRequest.getRemotePort() возвращает другой порт для каждого http-запроса, полученного на том же компьютере?

#java #servlets

#java #сервлеты

Вопрос:

Мне нужно определить удаленный IP и порт клиентов, которые регистрируются в моей службе. Кроме того, когда клиентское веб-приложение отключается, оно отменяет регистрацию в моем веб-сервисе. я использую HttpServletRequest.getRemoteAddress() и HttpServletRequest.getRemotePort() для идентификации клиентов.

но проблема в том, что когда я тестирую на том же компьютере, я получаю разные порты из одного и того же клиентского веб-приложения.

Я запускаю веб-службу JAX-WS на GlassFish, и клиентское веб-приложение также установлено в том же контейнере. Кроме того, я использую виртуальную машину Fedora 14 VBox.

Ответ №1:

Да, это верно, порт, используемый соединением, никогда не гарантируется одинаковым, и, как вы видите, он варьируется.

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