我寫我的兩個班如何停止TCPSERVER,如何刪除TIME_WAIT套接字
class RequestHandler(http.server.SimpleHTTPRequestHandler):
class Server(socketserver.TCPServer):
,這樣一個獨特的服務器可以處理常規瀏覽器的,ajax-和WebSocket的請求。 它工作正常。
我只是無法找到終止服務器的方式。所以我殺了這個過程。
[編輯]我需要關閉服務器,當它從瀏覽器收到關機請求。我試圖設置self.__shutdown_request
是真的,但它沒有奏效。
除此之外,關閉瀏覽器並終止進程後,netstat告訴我有一些使用服務器端口的套接字 仍處於活動狀態,具有TIME_WAIT狀態。所以我必須等待他們再次使用同一個端口之前死亡。
如何終止服務器?
有沒有辦法刪除這些套接字?
無法幫你解決第一個問題,但爲了避免套接字在TIME_WAIT狀態下掛起,你可以設置SO_LINGER ON,超時時間爲0,如下所示http://stackoverflow.com/questions/6439790/sending- a-reset-in-tcp-ip-socket-connection – fvu
@fvu它的工作原理。謝謝。 – donkeydown