シリアルポート経由で通信するソフトウェアをテストするために、tcp 接続を単一の仮想 tty に多重化できる必要があります。次のコマンドを使用して、tcp ポートをリッスンし、データを PTY に転送するサーバーを作成しました。
socat -d -d PTY,link=/dev/ttyV1,waitslave,echo=0,raw TCP-LISTEN:11313,reuseaddr,fork
私の問題は、ポート 11313 の tcp クライアントが切断されたときに、socat が /dev/ttyV1 へのリンクを削除し、接続されている他のすべてのユーザーへのセッションを強制終了することです。
このリンクを保持する方法はありますか? それとも、socat の外部で疑似 tty を作成して、維持することを心配する必要がないようにしますか? /dev/tty1 と /dev/ttyS1 を試しましたが、うまくいきませんでした。これらに対する私のコマンドは次のとおりです。
socat -d -d file:/dev/tty1,nonblock,echo=0,raw TCP-LISTEN:11313,reuseaddr,fork
私の要件: 一方の端でソフトウェアをシリアル tty に接続し、もう一方の端で多数の tcp クライアントを接続できること。TCP クライアントのメッセージングは、メッセージが重なって到着しないように、適切にシリアル化および多重化されます。