ho trovato la risposta dipende da Impostazioni TCP keepalive:
Per l'elenco delle impostazioni TCP disponibili (FreeBSD 4.8 un su e 5,4):
sysctl -A | grep net.inet.tcp
net.inet.tcp.keepidle
- Quantità di tempo, in millisecondi, che la connessione (TCP) deve essere libero prima pr keepalive l'obesità (se abilitata) viene inviata.
net.inet.tcp.keepintvl
- L'intervallo, in millisecondi, tra sonde keepalive inviate a macchine remote. Dopo l'invio dei probe TCPTV_KEEPCNT (default 8), senza risposta, la connessione (TCP) viene interrotta.
net.inet.tcp.always_keepalive
- Si supponga che SO_KEEPALIVE sia impostato su tutte le connessioni TCP, il kernel invierà periodicamente un pacchetto all'host remoto per verificare che la connessione sia ancora attiva.
Pertanto formula per calcolare il massimo tempo TCP connessione inattiva segue:
net.inet.tcp.keepidle + (net.inet.tcp.keepintvl x 8)
il risultato è espresso in millisecondi. Pertanto, impostando
net.inet.tcp.keepidle = 10000 net.inet.tcp.keepintvl = 5000 net.inet.tcp.always_keepalive = 1 (must be 1 always)
il sistema disconnettere una chiamata quando connessione TCP è morto: 10000 + (5000 x 8) = 50000
msec (50 sec).Per fare in modo che il sistema ricordi queste impostazioni all'avvio, è necessario aggiungerle al file /etc/sysctl.conf
fonte
2012-05-22 15:21:25
È applicabile sul lato server? – netvope
non l'ho ancora provato, ma penso di sì, lato server: [TCP Keepalive] (http://jampad.net/Library/tcpipprot/ch17.html): Se l'utente dovesse stabilire la connessione, fare un po 'di lavoro, quindi spegnere il computer alla fine della giornata, senza disconnettersi, una connessione semiaperta sarebbe lasciata. Se il client scompare, lasciando la connessione semiaperta sul lato server e il server attende alcuni dati dal client, il server attenderà per sempre. La funzione keepalive ha lo scopo di rilevare queste connessioni semiaperte dal lato server. –
è possibile avere un proxy per il mio sistema letto che potrebbe continuare a inviare pacchetti al server? In questo modo la sessione potrebbe essere mantenuta in vita anche dopo il sonno. – sudeepdino008