
伺服器端:
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,它是一個新連線。
答案1
UDP 是無連接的。伺服器退出時不會向客戶端發送通知。
如果您想要這種行為——並且如果您想要可靠的資料傳輸——請使用 TCP,而不是 UDP。