해결 timewait 소켓 강제 닫 기

해결 timewait 오늘 제 가 코드 를 테스트 할 때 영 화 를 보면 서 서버 의 CPU 소모 와 메모리 사용 이 만 족 스 러 웠 습 니 다.그런데 잠시 후에 통계 가 일정한 연결 에 이 르 렀 을 때 나중에 연결 이 많아 서 로그 인 할 수 없 었 습 니 다.버스 에 오 르 는 것 처럼 붐벼 서 차 를 탈 수 없다. -an 연결 상 태 를 살 펴 보 았 습 니 다.timewait 상태의 포트 는 매우 많은 원인 이 여기에 있 습 니 다.시스템 의 포트 수 를 소모 하면 서버 에서 새로운 연결 을 받 을 수 없습니다.문 제 를 찾 으 면 time 을 설명 합 니 다.wait,이 물건 의 기본 생존 시간 은 2 분 입 니 다.충분 합 니 다.이 점 은 매우 중요 합 니 다.더 많은 사람들 이 바 이 두 에서 이 문제 에 대처 합 니 다.저 는 함수 하 나 를 썼 습 니 다.socket,코드 환경{delphi 7+windows 를 강제로 닫 습 니 다. xp}PS:pacal 만 할 줄 알 고 다른 것 은 잘 모 릅 니 다.function ForceCloseSocket(DestSock:TSocket):Boolean; var   NoWait:Boolean;   NLinger:Tlinger; begin   Result:=False;   NoWait:=False;   if SetSockOpt(DestSock,SOL_SOCKET,SO_DONTLINGER,@NoWait,sizeOf(Boolean))=SOCKET_ERROR then     Result:=False;   NLinger.l_onoff:=1;   NLinger.l_linger:=0;     if SetSockOpt(DestSock,SOL_SOCKET,SO_LINGER,@NLinger,sizeOf(NLinger))=SOCKET_ERROR then     Result:=False else Result:=True;   if CloseSocket(DestSock)=SOCKET_ERROR then Result:=Flase else Result:=True; end; Dz 편집 기 는 정말 머리 가 크 고 귀 찮 습 니 다.이것 은 강제 닫 기 함수 입 니 다.약간의 소감 입 니 다.여러분 과 공유 하 겠 습 니 다.PM 메시지 비판 지적 을 환영 합 니 다.

좋은 웹페이지 즐겨찾기