Обнаружение доступа в Интернет в Delphi

Мое приложение для модема иногда не получает доступ в Интернет. В этих случаях Windows не будет спрашивать, есть ли у приложения разрешение на использование Интернета. Мое приложение не выдает ошибок, но, конечно, не будет привязано.

Как я могу проверить, имеет ли мое приложение Delphi доступ к Интернету, достаточный для использования модема?


person Mike at Bookup    schedule 27.09.2018    source источник
comment
Вы специально ищете решение, которое работает в Windows? И нормально ли, если для решения требуется Windows Vista или более поздняя версия или вам нужна поддержка более старых операционных систем?   -  person NineBerry    schedule 27.09.2018
comment
Это приложение firemonkey или традиционное приложение Windows, и что именно вы подразумеваете под модемом?   -  person NineBerry    schedule 27.09.2018
comment
Это приложение Firemonkey для Windows и Macintosh. Я могу ошибаться, но мне хотелось бы думать, что где-то есть компонент, который может просто проверить, находится ли приложение в сети для любой платформы. Если вы наведете курсор на тег привязки выше, это даст вам представление о значении привязки.   -  person Mike at Bookup    schedule 27.09.2018
comment
Вы имеете в виду обнаружение доступа к сети? Модем только для локальных сетей   -  person Alain Thiffault    schedule 28.09.2018
comment
Создайте себе сервер с помощью мастера сервера Datasnap. Разместите этот сервер там, где ваши клиенты смогут его найти. Используйте правильно настроенный TSQLConnection для подключения к этому серверу и определения его доступности.   -  person nolaspeaker    schedule 28.09.2018


Ответы (1)


Следующий код должен работать на всех платформах:

uses IdTCPClient;

function CheckInternet : Boolean;

var TCPClient : TIdTCPClient;

begin
  TCPClient := TIdTCPClient.Create (NIL);

  try
    try
      TCPClient.ReadTimeout := 2000;
      TCPClient.ConnectTimeout := 2000;
      TCPClient.Port := 80;
      TCPClient.Host := 'google.com';
      TCPClient.Connect;
      TCPClient.Disconnect;
      Result := true;

      except
        Result := false;
      end; { try / except }

    finally
      TCPClient.Free;
    end; { try / finally }
end;

Источник: www.fmxexpress.com

Библиотеку для проверки подключения к Интернету на мобильных устройствах можно найти по адресу www.delphiworlds.com

person Olaf Hess    schedule 28.09.2018