2011-04-25 13 views
5

Scenariusz jest następujący:
Wysyłam masę danych do klientów z mojej aplikacji serwera C#.
Nagle Przepływ danych zatrzymany, Brak danych Aktualizacja po stronie klienta i port zostanie zablokowany.Gniazdo serwera zawiesza się w Close_Wait

Gdy to nastąpi, objawy uboczne Server są

  1. CLOSE_WAIT w tym porcie (netstat)
  2. operacja bloku (Kod błędu: 135) w rejestrze.
  3. Nie można utworzyć nowego połączenia z klienta.
  4. Telnet nie potrafi tego portu

Obecnie zrestartować serwer, gdy problem powstać. Oczywiście to nie jest rozwiązanie.

Czy ktoś może zaoferować rozwiązanie dla gniazda serwera zatrzymanego w Close_Wait w Windows Server 2008? Wszelkie sugestie dotyczące tego scenariusza zostaną docenione z wdzięcznością.

Dzięki z góry.

Odpowiedz

1

CLOSE_WAIT oznacza, że ​​peer zamknął połączenie, a TCP czeka, aż lokalna aplikacja zamknie gniazdo.

Więc zamknij.

+0

Używam IPWorks tutaj nie ma mowy, aby wysłać Shutdown, tylko close(). Myślę, że blisko wewnętrznie zawiera shutdown(). Nie ma problemu z korzystaniem z Asynchronicznego Gniazda (winsock) zamiast z ipworks. Ale w IPWorks nie wiem, jak go rozwiązać. –

+0

@MSK Shutdown nie ma nic wspólnego z moją odpowiedzią. Sytuacja pozostaje bez zmian. Zamknij gniazdo. – EJP

Powiązane problemy