【发布时间】:2018-04-21 06:54:10
【问题描述】:
假设我写到一个 netcat 连接:
tail -f ${file} | nc localhost 7050 | do_whatever | nc localhost 7050
这里发生的情况是我们有两个套接字连接,用于执行一些请求/响应。但这并不理想,原因有几个。
我想要做的是重复使用相同的连接来读取和写入。
有谁知道我怎样才能重复使用一个 netcat 连接?
【问题讨论】:
-
如果
do_whatever收到某个消息,它将使用第二个连接回写到 tcp 服务器。主要问题是当其他进程想要与这个通信时,他们可能会看到两个连接,而不是一个,来与之通信。 -
我唯一知道的就是这种技术:xmodulo.com/tcp-udp-socket-bash-shell.html
-
您也许可以使用协同进程来完成。但这不是 shell 脚本所擅长的。为什么不使用带有套接字 API 的语言?
-
我必须用谷歌搜索什么是协同处理...我添加了一个我认为应该可以正常工作的答案,不知道为什么我之前没有想到它
标签: bash shell tcp pipe netcat