he encontrado la respuesta que depende de la configuración de mantenimiento de conexión TCP:
Para la lista de configuración TCP disponibles (FreeBSD 4.8 un arriba y 5.4):
sysctl -A | grep net.inet.tcp
net.inet.tcp.keepidle
- Cantidad de tiempo, en milisegundos, que la conexión (TCP) debe estar inactivo antes pr keepalive obes (si está habilitado) son enviados.
net.inet.tcp.keepintvl
- El intervalo, en milisegundos, entre las sondas Keepalive enviadas a máquinas remotas. Después de enviar las sondas TCPTV_KEEPCNT (predeterminado 8), sin respuesta, la conexión (TCP) se interrumpe.
net.inet.tcp.always_keepalive
- Supongamos que SO_KEEPALIVE se establece en todas las conexiones TCP, el kernel enviará periódicamente un paquete al host remoto para verificar que la conexión aún está activa.
Por lo tanto la fórmula para calcular el máximo TCP tiempo de conexión inactiva está siguiendo:
net.inet.tcp.keepidle + (net.inet.tcp.keepintvl x 8)
el resultado es en milisegundos. Por lo tanto, mediante el establecimiento de
net.inet.tcp.keepidle = 10000 net.inet.tcp.keepintvl = 5000 net.inet.tcp.always_keepalive = 1 (must be 1 always)
el sistema va a desconectar una llamada cuando la conexión TCP está muerto para: 10000 + (5000 x 8) = 50000
milisegundos (50 segundos).Para hacer que el sistema recuerde esta configuración al inicio, debe añadirlos a /etc/sysctl.conf
archivo
¿Esto se aplicará en el lado del servidor? – netvope
no he probado todavía, pero creo que sí, del lado del servidor: [TCP Keepalive] (http://jampad.net/Library/tcpipprot/ch17.html): Si el usuario para establecer la conexión, haga algo de trabajo, luego simplemente apague la computadora al final del día, sin desconectarse, quedará una conexión medio abierta. Si el cliente desaparece, dejando la conexión medio abierta en el extremo del servidor, y el servidor está esperando algunos datos del cliente, el servidor esperará por siempre. La característica keepalive está destinada a detectar estas conexiones semiabiertas desde el lado del servidor. –
¿es posible tener un proxy para mi sistema para dormir que pueda seguir enviando paquetes al servidor? De esta manera, la sesión podría mantenerse viva incluso después de dormir. – sudeepdino008