Express应用程序使用哪个端口发送请求?

时间:2018-11-13 10:17:52

标签: node.js express axios

我有一个Express应用程序A,该应用程序配置为在4455端口上侦听。

该应用程序还使用axios将请求发送到其他服务器B。

服务器B配置为使其答复从其接收请求的host:port。 在这种情况下,服务器A无法收到来自B的响应,因为在请求中,A的端口一直在变化。

快递服务器是否从同一端口发送和接收消息?

1 个答案:

答案 0 :(得分:0)

Express侦听传入连接的端口与用于碰巧来自同一应用程序的请求的端口无关。

请求通常是从一个随机(-ish)端口发出的,如果您希望该端口是固定的(总是一样),则需要花费一些精力。实际上,我什至不确定您是否可以使axios使用发出请求的特定本地端口。

留下以下解决方案:您使用axios发出请求,以某种方式(我不确定如何)记录从哪个本地端口发出该请求,并在请求完成后创建一个临时(Express)服务器,该服务器在同一本地端口上侦听响应。服务器B发送响应后(或在特定的超时后),该服务器将停止。

说实话,服务器B发回其响应的方式非常罕见,尤其是 ,因为请求几乎总是来自随机端口。我也不明白为什么服务器B无法通过现有连接发送回响应。