Hello again Ray, >> >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. > >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.
Sorry for my trigger-happy, and incorrect reply. After so many years, I should know better than to reply without completely processing questions. Apologies. >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 > >I fond the issue. it's my own stupid issue. >i did "continue" if no data received. >just break from it then it will be fine Well, I'm glad you found the issue. Best of luck, -Martin -- Martin A. Brown http://linux-ip.net/ -- https://mail.python.org/mailman/listinfo/python-list