使用 socat 发送消息并接收响应
Working with socat to send a message and receive a response
在我的服务器上使用 Socat 我有当前命令:
socat -u tcp-l:7767,fork system:/app/getmsg.sh
所有 getmsgh.sh 所做的是:
read MESSAGE
echo $MESSAGE
我正在尝试找出一种方法让客户端发送消息并接收 getmsg.sh
的输出
正在客户端试用:
echo "hello" | socat -t 30 tcp:localhost:7767 -
好像不行。它显示在服务器上,但不显示在客户端上。似乎如果你尝试与客户端传递消息 socat 想要立即退出
问题是服务器端的 -u
选项。 socat
手册页中 -u
选项的含义:
Uses unidirectional mode. The first address is only used for reading, and the second address is only used for writing
因此,tcp-l:
端仅被读取,system:
端仅被写入,而不是双向连接(这是默认设置)。删除 -u
选项使问题中的示例有效。
在我的服务器上使用 Socat 我有当前命令:
socat -u tcp-l:7767,fork system:/app/getmsg.sh
所有 getmsgh.sh 所做的是:
read MESSAGE
echo $MESSAGE
我正在尝试找出一种方法让客户端发送消息并接收 getmsg.sh
的输出正在客户端试用:
echo "hello" | socat -t 30 tcp:localhost:7767 -
好像不行。它显示在服务器上,但不显示在客户端上。似乎如果你尝试与客户端传递消息 socat 想要立即退出
问题是服务器端的 -u
选项。 socat
手册页中 -u
选项的含义:
Uses unidirectional mode. The first address is only used for reading, and the second address is only used for writing
因此,tcp-l:
端仅被读取,system:
端仅被写入,而不是双向连接(这是默认设置)。删除 -u
选项使问题中的示例有效。