当服务器端退出时,socat 不会终止 udp 客户端

当服务器端退出时,socat 不会终止 udp 客户端

服务器端:

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。

相关内容