服务器端:
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 是无连接的。服务器退出时不会向客户端发送通知。
如果您想要这种行为——并且如果您想要可靠地传送数据——请使用 TCP,而不是 UDP。