あなたも、このアプローチを使用して通信を変更することができるはずです。
は、接続ごとに実行されますヘルパースクリプトhelper.sh
準備:
#!/bin/bash
./inFilter.sh | socat - TCP:192.168.1.3:9090 | ./outFilter.sh
をまた使ってリスニングを開始:
socat TCP-LISTEN:9090,fork EXEC:"./helper.sh"
スクリプトinFilter.sh
およびoutFilter.sh
は、クライアントのクライアントとサーバーの部分を処理していますmmunication。
例inFilter.sh
:
#!/bin/bash
while read -r l ; do echo "IN(${l})" ; done
例outFilter.sh
:
#!/bin/bash
while read -r l ; do echo "OUT(${l})" ; done
この方法は、行ベースのテキスト通信のために働くべきである(ほぼすべてがline-bufferedあります)。
stdbuf -i0 -o0
ですべてのプロセスをラップするバイナリプロトコルで動作させるには、このケースではおそらくシェルを取り除くことが役立つでしょう(.e.g here参照)。
幸運を祈る!
出典
2016-10-10 21:27:11
vlp