socat beendet den UDP-Client nicht, wenn der Server beendet wird

socat beendet den UDP-Client nicht, wenn der Server beendet wird

Serverseite:

socat udp-l:2023,reuseaddr,fork exec:/bin/bash,pty,setsid,setpgid,stderr,ctty

Client-Seite:

socat -,raw,echo=0 udp:localhost:2023

Wenn ich die Bash beende, wird die Serverseite beendet, der Client jedoch nicht.

[root@udp-server-v1-9cdc7f96f-pwdjq /]# exit
exit
^C[root@udp-server-v1-9cdc7f96f-pwdjq /]# 

Wenn ich danach eine beliebige Taste drücke, stellt Socat erneut eine Verbindung zum Server her. PS: -ef zeigt, dass die Serverseite einen neuen Bash aufspaltet, es ist eine neue Verbindung.

Antwort1

UDP ist verbindungslos. Beim Beenden des Servers wird keine Benachrichtigung an den Client gesendet.

Wenn Sie dieses Verhalten wünschen – und eine zuverlässige Datenübertragung wünschen – verwenden Sie TCP, nicht UDP.

verwandte Informationen