
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.