需要檢測FireMonkey3下的本地IP地址。在VCL的版本,我已經使用單位的WinSock與它檢測FireMonkey3下的本地IP地址
WSAStartup(...)
gethostname(...)
一個限制方法:不需要使用任何第三方庫。我將ASTA組件移植到FireMonkey3平臺,並且不想在組件之間進行依賴關係。
需要檢測FireMonkey3下的本地IP地址。在VCL的版本,我已經使用單位的WinSock與它檢測FireMonkey3下的本地IP地址
WSAStartup(...)
gethostname(...)
一個限制方法:不需要使用任何第三方庫。我將ASTA組件移植到FireMonkey3平臺,並且不想在組件之間進行依賴關係。
如果你需要一個跨平臺解決方案嘗試使用印並列入IdStack
單元
的TIdStack.AddLocalAddressesToList
方法試試這個樣本
var
AAddresses: TStrings;
begin
AAddresses := TStringList.Create;
try
TIdStack.IncUsage;
try
GStack.AddLocalAddressesToList(AAddresses);
finally
TIdStack.DecUsage;
end;
if AAddresses.Count > 0 then
//do something
finally
AAddresses.Free;
end;
end;
如果當時沒有實例化任何Indy組件,則必須在使用之前手動調用'TIdStack.IncUsage()'以確保'GStack'指針有效,然後在調用'TIdStack.DecUsage()'時調用'TIdStack.DecUsage你已經完成了。 –
@RemyLebeau這個返回只是127.0.0.1對我來說,在SDK和移動設備上,但我有通過WiFi訪問網絡... –
@peimanF .:你使用Android? 'AddLocalAddressesToList()'還沒有在Android上實現,但應該在iOS上工作。 –
使用印這一點。 –