Я делаю InternetConnect (Wininet) с FTP-сервером, который работает на iPhone. Когда пользователь находится в обычной сети Wi-Fi, он работает нормально для него. Когда у него есть специальная сеть с его iPhone, он получает ERROR_INTERNET_TIMEOUT. Я предполагаю, что это какая-то проблема маршрутизации. Мне любопытно, почему это получает ERROR_INTERNET_TIMEOUT, а не ERROR_INTERNET_CANNOT_CONNECT. Большинство пользователей, если они заблокированы, например, брандмауэром, получат ERROR_INTERNET_CANNOT_CONNECT.
Я недостаточно разбираюсь в низкоуровневом TCP / IP, чтобы понять, какая ситуация может вызвать ошибку тайм-аута вместо ошибки соединения. Я действительно более интеллектуально заинтересован в понимании этого, чем в фактическом решении проблемы пользователя. ;-) Может кто-нибудь объяснить, что происходит с сетевыми пакетами (чем подробнее, тем лучше)?
редактировать:
обратите внимание, что, насколько мне известно, у пользователя не включен исходящий брандмауэр, это не проблема брандмауэра. Я думаю, что это какая-то проблема маршрутизации. Я видел подобные проблемы, когда пользователь подключен к VPN, и его маршрутизация настроена неправильно, и все пакеты отправляются на работу вместо iPhone. Я хочу знать, что происходит с пакетами в этой ситуации: сокет подключается, но на следующем этапе (что бы это ни было) они не могут общаться.