tcp networking question (CLOSE_WAIT)

Ray rui.vapps at gmail.com
Thu Feb 25 13:25:23 EST 2016


On Thursday, February 25, 2016 at 1:18:05 PM UTC-5, Martin A. Brown wrote:
> >I'm new to python networking. I am waiting TCP server/client app by 
> >using python built-in SocketServer. My problem is if client get 
> >killed, then the tcp port will never get released, in CLOSE_WAIT
> 
> I did not thoroughly review your code (other than to see that you 
> are not using SO_REUSEADDR).  This is the most likely problem.
> 
> Suggestion:
> 
>   man 7 socket
> 
> Look for SO_REUSEADDR.  Then, apply what you have learned to your 
> code.
> 
> -Martin
> 
> -- 
> Martin A. Brown
> http://linux-ip.net/

it's not I can't bind the address, my problem is: server is long run. if client die without "disconnect" then server will leak one socket. 

by using the built-in thread socket server. the extra tcp port are opened by built-in class itself.
if the handler() is finish correctly (the line with break) then this socket will get cleaned up. but if client dies, then I am never get out from that True loop. so the socket will keep in close_wait 


More information about the Python-list mailing list