Я пишу пользовательский TCP-сервер и клиент и выполняя тонну запросов (точнее, 60 000). Я начинаю получать эту ошибку сокета 10048, которая should mean «адрес уже используется».Ошибка сокета 10048 на клиенте? Возможные причины?
Ошибка сохраняется, если я не приостанавливаю процесс примерно на 2 или 3 минуты, а затем снова запустите его, а затем он начнет повторять ту же ошибку через некоторое время после перезапуска. Если я приостанавливаю процесс клиента и перезапускаю серверный процесс, я все равно получаю ту же ошибку на клиенте. Таким образом, это полная проблема с клиентской стороной.
Это не имеет смысла, хотя эта ошибка возникает обычно при связывании, и эта ошибка возникает на клиенте, а не на сервере. Каковы могут быть возможные причины?
Небольшой отрывок из моей инициализации:
TcpClient client = new TcpClient();
client.Connect("XXXXX -- some ip", 25000);
client.NoDelay = true;
NetworkStream clientStream = client.GetStream();
Кроме того, все остальное, кажется, работает хорошо (в том числе и количество времени, которое требуется, чтобы отправить туда и обратно), и это прекрасно работает при использовании 127.0.0.1
но когда поместив его на другой компьютер локальной сети, я начинаю получать ошибку 10048.
Есть ли что-то не так с тем, как я его инициализирую? Что еще может вызвать эту ошибку на стороне клиента?
Я добавил 'client.LingerState = новый LingerOption (ложь, 0);' и использование NetStat, ваше право, у меня есть дерьмо нагрузки соединений в TIME_WAIT – Earlz
Я имею в виду, у меня все еще много TIME_WAIT после добавления бит 'LingerState' – Earlz
ReuseAddr также не помогает. – Earlz