【问题标题】:What port is used to send request by an Express app?Express 应用程序使用什么端口发送请求?
【发布时间】:2018-11-13 21:02:29
【问题描述】:

我有一个 Express 应用 A,它被配置为侦听 4455 端口。

该应用还使用 axios 向不同的服务器 B 发送请求。

服务器 B 被配置为回复接收请求的主机:端口。 在这种情况下,服务器 A 无法收到 B 的响应,因为在请求中,A 的端口一直在变化。

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

【问题讨论】:

  • 这是否意味着服务器 B 与 host:port 建立新连接 以发送响应?
  • @robertklep:是的。

标签: node.js express axios


【解决方案1】:

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

请求通常是从随机(-ish)端口发出的,如果您希望该端口被固定(始终相同),则需要付出一些努力。事实上,我什至不确定你是否可以让axios 使用它发出请求的特定本地端口。

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

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

【讨论】:

    猜你喜欢
    • 2017-03-09
    • 2016-07-01
    • 1970-01-01
    • 2022-10-12
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 2020-11-21
    • 1970-01-01
    相关资源
    最近更新 更多