Piszę niestandardowy serwer TCP i klienta i wykonuję tonę żądań (dokładnie 60 000). Zaczynam dostaję ten błąd gniazda 10048, który should mean "adres jest już w użyciu."Błędy gniazd 10048 na kliencie? Możliwe przyczyny?
Błąd nadal się dzieje, chyba że wstrzymam proces na około 2 lub 3 minuty, a następnie rozpocząć go ponownie, a następnie zaczyna wywoływać ten sam błąd krótko po ponownym uruchomieniu. Jeśli wstrzymam proces klienta i zrestartuję proces serwera, nadal otrzymuję ten sam błąd na kliencie. Jest to więc kompletny problem po stronie klienta.
To nie ma sensu, ale ten błąd występuje zwykle tylko podczas wiązania i ten błąd występuje na kliencie, a nie na serwerze. Jakie mogą być tego przyczyny?
Niewielki fragment mojego inicjalizacji:
TcpClient client = new TcpClient();
client.Connect("XXXXX -- some ip", 25000);
client.NoDelay = true;
NetworkStream clientStream = client.GetStream();
Ponadto, wszystko wydaje się być w porządku pracy (w tym czas potrzebny do wysłania tam iz powrotem) i działa to doskonale podczas korzystania 127.0.0.1
ale kiedy umieszczając go na innym komputerze LAN, zaczynam dostrzegać błąd 10048.
Czy jest coś nie tak z tym, jak go zainicjować? Co jeszcze może spowodować ten błąd po stronie klienta?
dodałem 'client.LingerState = new LingerOption (false, 0);' a używając netstat, po prawej stronie, mam obciążenie tragiczne połączeń w CZAS_OCZEKIWANIA – Earlz
Mam na myśli, wciąż mam dużo TIME_WAIT po dodaniu 'LingerState' bit – Earlz
ReuseAddr również nie pomaga. – Earlz