2011-04-25 7 views
5

시나리오는 다음과 같습니다.
C# 서버 응용 프로그램에서 클라이언트로 대량의 데이터를 보내고 있습니다.
갑자기 데이터 흐름이 중지되었으며 클라이언트 측에서 데이터 업데이트가 수행되지 않고 포트가 차단됩니다. 로그인이 발생하면서버 소켓 Close_Wait에서 응답하지 않음

는 서버 측 현상 운전 (135 에러 코드)를 차단할 수

  • 그 포트 (NETSTAT)에

    1. CLOSE_WAIT이다.
    2. 클라이언트에서 새 Connection을 만들 수 없습니다.
    3. 텔넷 현재 우리는 문제가 발생할 때마다 서버를 다시 시작하는 포트

    에 실패합니다. 분명히 이것은 해결책이 아닙니다.

    누군가 Windows Server 2008의 Close_Wait에 고정 된 서버 소켓에 대한 솔루션을 제공 할 수 있습니까? 이 시나리오에 대한 제안은 감사하게 생각합니다.

    미리 감사드립니다.

  • 답변

    1

    CLOSE_WAIT는 피어가 연결을 종료했으며 TCP가 로컬 응용 프로그램이 소켓을 닫을 때까지 대기 중임을 나타냅니다.

    이렇게 닫습니다.

    +0

    저는 여기서 IPWorks를 사용하여 종료를 보내지 않고 close() 만 보냅니다. 내 생각에 가까운 내부적으로 shutdown()이 포함되어 있다고 생각합니다. ipworks 대신 비동기 소켓 (winsock)을 사용할 때 아무런 문제가 없습니다. 그러나 IPWorks에서 나는 그것을 해결하는 방법을 모른다. –

    +0

    @MSK Shutdown은 내 대답과는 아무런 관련이 없습니다. 상황은 동일하게 유지됩니다. 소켓을 닫으십시오. – EJP