サーバ側:
socat udp-l:2023,reuseaddr,fork exec:/bin/bash,pty,setsid,setpgid,stderr,ctty
クライアント側:
socat -,raw,echo=0 udp:localhost:2023
Bashを終了すると、サーバー側は終了しますが、クライアントは終了しません。
[root@udp-server-v1-9cdc7f96f-pwdjq /]# exit
exit
^C[root@udp-server-v1-9cdc7f96f-pwdjq /]#
この後、いずれかのキーを押すと、socatはサーバーに再び接続します。 ps -efは、サーバー側が新しいbashをフォークすることを示しています。これは新しい接続です。
UDPはコネクションレス型です。サーバーが終了しても、クライアントに通知は送信されません。
この動作が必要な場合、およびデータの信頼性の高い配信が必要な場合は、UDPではなくTCPを使用してください。