将多个程序的输出管道输出到同一端口上的netcat

时间:2017-12-09 20:09:33

标签: node.js pipe netcat

所以现在我有一台ping api的服务器并写入stdout。我把它当作nc管道。

from .user import User  # change your import to this
user = User()

然后我有一份工作,听取并输出数据的5秒快照。

我的问题是,当我尝试在具有多个server.js程序的多个会话中执行此操作时,例如。 server1.js,server2.js全部命中api的不同部分并将它们全部传送到端口9999.只有第一个程序被快照作业选中。如何将多个输出传输到:

node server.js | nc -lk 9999

这样他们都被处理好像是一个程序的输出?

1 个答案:

答案 0 :(得分:0)

如果你多次执行该命令,它就不会起作用。您无法在同一端口上侦听netcat的多个实例。您应该收到nc: Address already in use错误。

你可以做的是:

  1. mkfifo queue
  2. nc -lk 9999 < queue
  3. node server.js | cat > queue
  4. 顺便说一下,我在Node.js中做了一个很好的全功能Netcat移植:https://github.com/roccomuso/netcat

    这很容易解决您遇到的问题,因为您可以在JS中实现整个逻辑,而无需在stdin上使用本机nc bin或管道数据。