所以现在我有一台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
这样他们都被处理好像是一个程序的输出?
答案 0 :(得分:0)
如果你多次执行该命令,它就不会起作用。您无法在同一端口上侦听netcat的多个实例。您应该收到nc: Address already in use
错误。
你可以做的是:
mkfifo queue
nc -lk 9999 < queue
node server.js | cat > queue
顺便说一下,我在Node.js中做了一个很好的全功能Netcat移植:https://github.com/roccomuso/netcat
这很容易解决您遇到的问题,因为您可以在JS中实现整个逻辑,而无需在stdin上使用本机nc
bin或管道数据。