У меня есть два приложения, которые должны взаимодействовать друг с другом с помощью HTTP. Каждый из них в настоящее время является сервером, использующим класс HttpServer, и делает запросы с использованием Apaches HTTP client library.Как отправить запрос HTTP Java с помощью конкретного порта номер
Одним из приложений будет иметь знание других адресов портов, прежде чем он работает, например, порт 8000 означает, что он использует это, чтобы сделать запрос HTTP-запроса, который может обрабатываться другим приложением. Однако, если второе приложение хочет отправить запрос первому приложению, он не будет знать, к какому порту следует отправлять ответ. Это происходит потому, что первое приложение отправит запрос с использованием клиентской библиотеки HTTP, которая будет динамически выбирать порт, например. порт 6543, то есть второе приложение не может его сохранить и использовать позже.
Пример:
приложение 1 нагрузки на локальном хосте с портом 8000.
App 2 нагрузки на локальном хосте с портом 8050.
приложение 1 знает, что приложение 2 находится на 8050 и посылает запрос, который получает обрабатываются приложением 2.
App 2 хочет послать запрос к приложению 1, но он не знает свой порт, поскольку ранее запрос был отправлен с использованием динамически назначенный порт.
Есть в любом случае вокруг этой ситуации, кроме первого приложения посылающего его номер порта сервера для приложения?
Пример сценарий является то, что приложение 1 начинается с сервером на локальном хост, работающий на порт 8000. App 2 начинается с сервером на локальном хосте с портом 8050. App 1 знает приложение 2s порт так отправляет его с помощью клиента HTTP на локальный хост: 8000, которое приложение 2 получает, однако, когда оно затем пытается отправить HTTP-запрос в приложение 1 позже, он не знает, что работает порт сервера приложений 1s. – Tom
@TomWilkins Почему app1 не может добавить HTTP-заголовок в свой запрос, говорящий о его слушающем порту? –
На самом деле вы правы, я могу просто добавить его как HTTP-заголовок ..... всегда смотрите на простые решения:/(Хотите ответить «добавьте HTTP-заголовок в приложение 1, чтобы приложение 2 могло его использовать» или что-то, поэтому я могу отметить.) – Tom