【发布时间】:2022-01-11 23:11:07
【问题描述】:
进行此设置:
- expressjs服务器从一个节点进程启动,监听端口
8081。 - js 客户端尝试从另一个节点进程向它发出请求,使用节点的
http模块。 - 客户端失败并出现 400 错误。
- 相同的 URL (http://localhost:8081/) 在浏览器中打开就好了。
花了几个小时尝试解决它,然后尝试更改端口并且它起作用了。 原来有另一个进程在监听 8081 端口:
$ lsof -i tcp:8081
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
EUSAManag 1187 oleksandr.suhak 4u IPv4 0xce3bb9546cff3ab1 0t0 TCP localhost:sunproxyadmin (LISTEN)
(不知道EUSAManag是什么)
我想我的问题是:当端口明显在使用时,快速服务器怎么能正常启动而不会抱怨“另一个进程正在使用端口”。为什么从浏览器访问它时它可以工作,但是从js客户端发出请求时 not 工作?关于弄清楚这里实际发生了什么的任何提示?
【问题讨论】:
-
关于使用的端口/服务,这可能是相关的:stackoverflow.com/q/49877762/3761628,但是您的快速应用程序能够启动仍然很奇怪..
标签: javascript node.js express http tcp