Проверка подключения VPN с использованием C / C ++ в Windows - PullRequest
0 голосов
/ 07 сентября 2011

Существует ли достаточно надежный метод проверки подключения к VPN на временной основе (каждые N минут) с использованием C / C ++ в Windows?В python я просто пинговал хост и читал ответ - хотя этот метод работает, я бы предпочел использовать что-то менее взломанное.

Ответы [ 3 ]

2 голосов
/ 07 сентября 2011

Предполагая, что вы говорите о Windows VPN-соединении (а не о чем-то вроде OpenVPN), вы можете перечислить текущие соединения с удаленным доступом (RAS), используя RasEnumConnections , и вы можете получить состояние соединения, используя RasGetConnectStatus .

0 голосов
/ 08 сентября 2011

Как уже упоминалось в другом ответе, вы можете позвонить

    DWORD RasGetLinkStatistics(
  __in     HRASCONN hRasConn,
  __in     DWORD dwSubEntry,
  __inout  RAS_STATS *lpStatistics);

чтобы получить достаточно информации

  • скорость соединения,
  • количество отправленных / полученных данных,
  • время соединения

о вашей связи. Подробнее об этом читайте на MSDN .

0 голосов
/ 07 сентября 2011

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

Для этой простой цели вам нужен только планировщик задач (schtasksНапример, .exe) и примитивная программа проверки.

У меня есть одна, реализованная для аналогичных целей в Perl, она проверяет интернет-соединение каждую минуту со списком URL-адресов и пытается сохранить информацию о состоянии модема из другого спискаURL-адресов.Он также регистрирует все, что он делает

http://frigocoder.dyndns.org/svn/script/cable/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...