启动 xpress/Server 示例时使用 EADDRINUSE

EADDRINUSE when starting an xpress/Server example

我对 noflo 还很陌生,所以这可能是因为我做了一些蠢事。

我在尝试从 noflo-ui 启动 noflo 图表时遇到问题。我相信,基本上我从图表中的第一个 xpress/Server 节点收到 EADDRINUSE 错误(端口正在使用中)。如果重要的话,我是 运行 本地的 ui(我认为不应该)。

通常,如果我是 运行 普通的 Express 服务,我会终止占用端口的 'runaway' 进程,但我找不到它。我试过 "netstat -p tcp | grep " 和 "ps -ef | grep " 之类的东西都无济于事。

我还尝试了一些 'noflo' 东西,这可能是个好主意,也可能不是。 1) 首先,我尝试完全删除浏览器数据库(我仍然不能 100% 确定这与运行时环境有何关系,并尝试将参数传递给 noflo-nodejs 命令并使用 json 使用创建的配置noflo-nodejs-init)。 2) 其次,我创建了一个使用不同端口的新图形。通过 stopping/restarting ui 中的新图并通过邮递员测试预期的端点,我意识到实际上启动过程似乎为新旧端口启动了一个 xpressServer,所以我可以在 http://localhost:8000/hello and http://localhost:8001/hello 上执行 GET 并返回 'hello'。

谁能告诉我我做错了什么,如果可能的话,最好的解决方法。

注意:我确实尝试重新启动我的 Mac,这最初似乎也没有帮助,所以我只能假设 chrome 正在缓存我可能错过的东西......(猜测) .今天早上硬重启并确保我所有的应用程序都关闭后,这似乎已经自行解决,但我仍然想了解发生了什么,所以我不会再次遇到这种情况。

谢谢

noflo-xpress Server component frees up its port(s) at the component teardown stage.

这意味着要释放端口,您必须:

  1. 使用network.stop()(或通过 Flowhub 中的 "pause button")停止网络执行(导致调用拆卸)
  2. 停止 NoFlo 运行你 运行 noflo-xpress
  3. 的时间进程