Zitat von
quendolineDD:
Trotzdem fand ich immer noch nicht, in welcher Struktur nun die
IP des Adapters gespeichert ist? Wird diese mit in SOCKADDR unter sa_data abgelegt und von mir nur falsch Interpretiert? Bisher hab ich darin keine sinnvoll zu verwendenden Daten gefunden.
Hast Du eine Lösung gefunden?
Wenn ich mir das Beispiel
hier anschaue, wird das in C so gemacht:
Code:
//Check if the address family is IPV4
if (sockaddr.sa_family == (Int32)System.Net.Sockets.AddressFamily.InterNetwork)
{
ipaddr = new IPAddress(sockaddr.sa_data);
}
else if (sockaddr.sa_family == (Int32)System.Net.Sockets.AddressFamily.InterNetworkV6)
{
//Marshal memory pointer into a struct
sockaddripv6 = (SOCKADDRIPV6)Marshal.PtrToStructure(sock_addr.lpSockAddr, typeof(SOCKADDRIPV6));
ipaddr = new IPAddress(sockaddripv6.sa_data);
}
Was ich damit aber in Delphi mache, weiß ich leider nicht.