Cerrando sockets, close_wait
Reynaldo Baquerizo Micheline
rbaquerizo en ehas.org
Mar Mayo 22 16:48:29 CEST 2007
No he programado sockets, pero talvez puedas encontrar lo que buscas
mirando estos tutoriales.
http://www.ibm.com/developerworks/edu/l-dw-linux-pysocks-i.html
http://www.ibm.com/developerworks/edu/l-dw-linux-sock-i.html
http://www.ibm.com/developerworks/edu/l-dw-linux-sock2-i.html
Nota: Para descargarlos hay que crear una cuenta. Aunque no es complicación.
Oswaldo Hernández escribió:
> Hola a todos,
>
> Estoy trabajando en mi primera aplicacion con sockets en python, hasta
> ahora todo va mas o menos bien ;), excepto:
>
> Cuando en el lado del cliente cierro el socket, no llega ninguna
> interrupcion al servidor, y haciendo un netstat veo que el estado de
> la conexion se queda en CLOSE_WAIT.
>
> Buscando en la red la unica solucion que he visto es utilizando select:
>
> sel = select.select([sck], [], [], .1)
> if sel[0]:
> datos=sck.recv(4096)
> if len(datos) == 0:
> # la conexion ha sido cerrada
> ...
>
> Es decir, cuando el primero de los valores devueltos por el select
> tiene valor pero recv no devuelve nada indica que el peer ha cerrado
> el socket.
>
> ¿Es esto correcto?, ¿hay alguna otra forma de hacerlo?
>
> Gracias.
>
Más información sobre la lista de distribución Python-es