Перехватчик пакетов (.net) - PullRequest
3 голосов
/ 15 апреля 2011

У меня есть какое-то программное обеспечение, которое отключается от основного сервера, если активность в программе бездействует.Насколько я понимаю, мне нужно перехватить некоторые из пакетов сердцебиения или что-то еще, а затем реплицировать и отправлять его каждые пару секунд.Мне нужно сделать эту программу полностью отдельной (я должен передать ее некоторым другим в офисе, и такие вещи, как WireShark, не решат мою проблему).

Мы пытаемся запустить большие процессы через программу,но, если мы не останемся в программе постоянно, даже если она что-то запускает, она отключится.

Я использую .net, в частности VB.net (я могу конвертировать c # большую часть времени).

Спасибо, если сможете!

1 Ответ

0 голосов
/ 15 апреля 2011

Не могли бы вы запустить фоновый поток, как только вы установите соединение и пингуете свой сервер время от времени , чтобы предотвратить отключение? Как то так (C #):

 class KeepAlive
 {
    public void KeepAliveAsync()
    {
      Thread thread = new Thread(DoPing); 
      thread.Start();
    }

    private void DoPing()
    {
      Ping ping= new Ping ();
      PingReply reply = ping.Send ("www.example.com");

      if(reply.Status != IPStatus.Success)
      {
         // lost connection
      }
    }
 }

Или, если эхо-запрос не работает, каким бы ни был эквивалент пустого пакета.

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

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