gpt4 book ai didi

delphi - 在仅 ipv6 网络上使用 Indy IdTelnet

转载 作者:行者123 更新时间:2023-12-02 01:44:18 41 4
gpt4 key购买 nike

Apple App Store 要求应用程序只能在 IPv6 网络上运行。如何使 IdTelnet 在此类网络上工作?

最佳答案

TIdTelnet 具有 IPVersion 属性,但它被声明为 protected,因此无法由用户代码直接访问。为了设置IPVersion,您可以声明一个 hack 类,例如:

uses
.., IdStack, IdGlobal, ..

type
TIdTelnetHack = class(TIdTelnet)
published
property IPVersion; //expose protected property
end;

procedure TForm1.TelnetConnect(const aHost:String);
var
aIPVersion: TIdIPVersion;
begin
if not IdTelnet1.Connected then
begin //not connected. go connect
// check if ipv6 or ipv4 network, and support both,
try
GStack.ResolveHost(aHost, Id_IPv6);
aIPVersion := Id_IPV6;
except
GStack.ResolveHost(aHost, Id_IPv4);
aIPVersion := Id_IPV4;
end;

IdTelnet1.Host := aHost;
IdTelnet1.Port := 8090;
TIdTelnetHack(IdTelnet1).IPVersion := aIPVersion; //set to IPv4 or IPv6

IdTelnet1.Connect;
end;
end;

要在 IPv6 网络上测试您的应用,请将您的 Mac 设置为 IPv6 接入点,如下所述:

Supporting IPv6 DNS64/NAT64 Networks

关于delphi - 在仅 ipv6 网络上使用 Indy IdTelnet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45945591/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com