У меня интересная ситуация, и я не совсем уверен, как ее устранить. Я сделал несколько поисков чего-то похожего на мою ситуацию, но ничто не соответствует этому. Если ответ уже существует где-то здесь, я был бы признателен всем, кто мог бы указать мне правильное направление.
Хорошо, к делу.
Я пишу сторожевое приложение для мониторинга интернет-соединения. Он предназначен для проверки связи с набором доменов с установленным интервалом, и когда любой из них отвечает на запрос, таймер состояния сбрасывается. Если таймер состояния когда-либо выходит за пределы установленного порога, для устранения проблемы предпринимаются несколько этапов корректирующих действий.
Достаточно просто, верно?
Вот где это становится странным.
Я использую ICMPsendecho для выдачи запроса ping. В моей среде разработки (win7) все работает нормально, тестирование и все прошло гладко. Однако в среде, где он развертывается, он не получает ответа. Среда развертывания - это компьютер с Windows XP sp3.
В процессе устранения неисправностей я отметил несколько вещей, которые могут или не могут быть полезны при попытках решить эту проблему.
windows ping.exe прекрасно работает в среде развертывания для всех доменов, которые я использую для проверки состояния подключения, это только мои вызовы ICMPsendecho, которые, похоже, не генерируют ответы.
Я установил wireshark в среде развертывания и вижу, что пакеты успешно отправляются для запросов на оба типа пинга. Пинг Windows генерирует пакеты запроса длиной 74 байта, а мой программный вызов генерирует пакеты длиной 42 байта. Ответные пакеты Windows аналогично составляют 74 байта при получении.
Переход на среду разработки на минуту с установленным wireshark. Пинг Windows генерирует аналогичное обстоятельство, как в среде развертывания с пакетами. Тем не менее, мое приложение, когда оно генерирует запросы, имеет длину 42 байта (то же самое, что и среда развертывания), но полученные ответы имеют длину 60 байтов.
Как я уже сказал, эта информация может или не может быть полезной, но я пытаюсь выяснить, почему это приложение не может генерировать ответы ICMP, когда пинг Windows, кажется, работает нормально на этой машине.
Еще один маленький кусочек, который может помочь, подключение к интернету, которое отслеживалось, использует повышенные 4G точек доступа AT & T, реальное устройство - беспроводная карта MC8790 AirPrime sierra.
У кого-нибудь есть идеи, почему эти пинги не работают?
Заранее благодарим за любую полезную информацию, которая у вас есть, и за то, что нашли время прочитать мой пост.
PS.