Firemonkey是否有任何等效的GetHostByName,适用于Desktop Win32/Win64/Mac?
查看System.Net.Socket
,您会发现TIPAddress.LookupName
具有您正在寻找的实现。在 Posix 上,它从 Posix.NetDB
调用gethostbyname
。
如果使用 Indy,其跨平台TIdStack
接口具有公共ResolveHost()
和HostByName()
方法(其中ResolveHost()
调用HostByName()
输入,该输入还不是 IP 地址(。 HostByName()
内部使用getaddrinfo()
或gethostbyname()
,具体取决于平台。
但是,需要注意的是,此类平台函数返回可以包含多个IP的IP地址列表,但ResolveHost()
/HostByName()
目前仅返回列表中的第一个IP。 如果需要完整列表,则必须下拉到平台层并直接调用套接字函数。