【问题标题】:Detect internet access in Delphi在 Delphi 中检测互联网访问
【发布时间】:2018-09-27 14:11:53
【问题描述】:

我的网络共享应用有时无法访问互联网。在这些情况下,Windows 不会询问应用程序是否有权使用互联网。我的应用程序不会产生错误,但当然不会束缚。

如何测试我的 Delphi 应用程序是否可以访问足以进行网络共享的互联网?

【问题讨论】:

  • 您是否专门寻找适用于 Windows 的解决方案?如果解决方案需要 Windows Vista 或更高版本,或者您需要支持旧操作系统,是否可以?
  • 这是 firemonkey 应用程序还是传统的 Windows 应用程序,您所说的“tethering”到底是什么意思?
  • 这是适用于 Windows 和 Macintosh 的 Firemonkey 应用程序。我可能错了,但我想在某个地方有一个组件可以简单地检查应用程序是否在线,适用于任何平台。如果您将鼠标悬停在上面的网络共享标签上,它将让您开始了解网络共享的含义。
  • 你的意思是检测网络访问吗?网络共享仅适用于本地网络
  • 使用 Datasnap 服务器向导为自己构建一个服务器。将该服务器托管在您的客户可以找到的地方。使用正确配置的 TSQLConnection 连接到该服务器并确定它的可访问性。

标签: delphi firemonkey delphi-10.2-tokyo tethering


【解决方案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找到用于检查移动设备上 Internet 连接的库

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-10
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 2019-11-10
    • 2012-01-17
    相关资源
    最近更新 更多