Какой порт используется для отправки запроса приложением Express? - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть приложение Express A, которое настроено на прослушивание через порт 4455.

Приложение также использует axios для отправки запросов на другой сервер B.

Сервер B настроентакой, что он отвечает на host: порт, с которого он получил запрос.В этом случае сервер A не может получить ответ от B, потому что в запросе порт A постоянно меняется.

Экспресс-сервер отправляет и получает сообщения с одного и того же порта?

1 Ответ

0 голосов
/ 13 ноября 2018

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

Запросы обычно делаются с произвольного (-ish) порта, и это потребует определенных усилий, если вы хотите, чтобы этот порт был фиксированным (всегда одинаковым). На самом деле, я даже не уверен, можно ли заставить axios использовать определенный локальный порт, с которого он делает запросы.

Это оставляет следующее решение: вы делаете запрос, используя axios, каким-то образом (я не знаю, как) запись, с какого локального порта выполняется этот запрос, и после завершения запроса создайте временный (Express). ) сервер, который прослушивает ответ на тот же локальный порт. Когда сервер B отправил ответ (или по истечении определенного времени ожидания), этот сервер останавливается.

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

...