通过TCP套接字桥接标准输入/输出

时间:2011-10-02 10:30:31

标签: bash sockets unix scripting stdio

我想编写一个执行以下操作的脚本:

  1. 开始侦听随机可用的localhost TCP端口。
  2. 启动某个外部程序,将端口号作为参数传递。
  3. 接受与服务器套接字的单个连接。
  4. 将脚本的标准输入发送到套接字,将套接字的输出发送到标准输出。
  5. 外部程序退出时退出。
  6. 理想的解决方案是调用一些合理标准工具的shell脚本,所以如果有人能想出办法来做到这一点,那么这将是完美的答案。如果这证明是难以处理的,那么Ruby实现对我来说会很方便。如果做不到这一点,我会采取任何可行的实施方式。

    P.S。我在这里很新,所以请让我知道这个问题是否过于笼统或者是否因为其他原因而不属于某些原因(也许“请为我实施X”是不赞成的?)。

2 个答案:

答案 0 :(得分:1)

你试过netcat吗?监听器和客户端都可以使用nc。

完成

答案 1 :(得分:1)

也许看一下socket命令行工具以及命令行工具,例如socat,ncat(google for“Ncat for Netcat Users”)和Richard Stevens'sock程序(参见Binding on a port with netpipes/netcat)。