socat não encerra o cliente udp quando sai do lado do servidor

socat não encerra o cliente udp quando sai do lado do servidor

lado do servidor:

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

lado do cliente:

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

Quando eu saio do bash, o lado do servidor sai, mas o cliente não sai.

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

Se eu pressionar qualquer tecla depois disso, o socat se conectará ao servidor novamente. ps -ef mostra que o lado do servidor bifurca um novo bash, é uma nova conexão.

Responder1

UDP não tem conexão. Não há notificação enviada ao cliente quando o servidor é encerrado.

Se você deseja esse comportamento - e se deseja uma entrega confiável de dados - use TCP, não UDP.

informação relacionada