Работа с неустойчивыми ошибками Winsock - PullRequest
0 голосов
/ 04 января 2011

Мое клиентское приложение периодически получает ошибки winsock (10060, 10053) для одного конкретного сервера, с которым мы взаимодействуем. У меня повторная попытка запроса, который не удался, но иногда он повторяется неоднократно, и я сдаюсь после 5 повторных попыток. Может ли это помочь, если я закрою сокет и создаю новый? (Я ничего не знаю о серверной части.)

Ответы [ 2 ]

0 голосов
/ 22 ноября 2013

Одна вещь, которую я бы попробовал - это выполнить трассировку на вашем сервере.

Часто, когда кто-то подключен через VPN;Вы можете увидеть эту ошибку, потому что ваши локальные и удаленные IP-адреса перекрываются.

Например, если ваш локальный диапазон IP-адресов равен 192.168.1.xxx, а удаленный диапазон vpn также равен 192.168.1.xxx, вы также увидите эту ошибку.

шарраджеш

0 голосов
/ 05 января 2011

Хорошо, поэтому вы получаете следующие ошибки:

10060 - WSAETIMEDOUT
10053 - WSAECONNABORTED

Когда вы их получаете?Что вы делаете в то время?

Вы получаете WSAECONNABORTED, когда удаленный конец соединения или, возможно, промежуточный маршрутизатор сбрасывает соединение и отправляет RST.Это может быть просто удаленный конец, выдающий не задерживающееся закрытие, или удаленный конец прерывается или падает.соединение было прервано и больше нет;это мертвое соединение, оно прошло ...

Контекст имеет огромное значение для того, почему вы можете получить исключение WSAETIMEDOUT, и контекст будет определять, будет ли повторная попытка разумной или нет.

...