Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetLocalEndPoint()

static unsafe IPEndPoint Interop.HttpApi.GetLocalEndPoint ( IntPtr memoryBlob,
IntPtr originalAddress )
inlinestaticpackage

Definition at line 892 of file Interop.cs.

893 {
894 SocketAddress v4address = new SocketAddress(AddressFamily.InterNetwork, 16);
895 SocketAddress v6address = new SocketAddress(AddressFamily.InterNetworkV6, 28);
896 byte* ptr = (byte*)(void*)memoryBlob;
897 HTTP_REQUEST* ptr2 = (HTTP_REQUEST*)ptr;
898 IntPtr address = ((ptr2->Address.pLocalAddress != null) ? ((IntPtr)(ptr - (byte*)(void*)originalAddress + (byte*)ptr2->Address.pLocalAddress)) : IntPtr.Zero);
900 IPEndPoint result = null;
901 if (v4address != null)
902 {
903 result = s_any.Create(v4address) as IPEndPoint;
904 }
905 else if (v6address != null)
906 {
907 result = s_ipv6Any.Create(v6address) as IPEndPoint;
908 }
909 return result;
910 }
static IPEndPoint s_any
Definition Interop.cs:675
static IPEndPoint s_ipv6Any
Definition Interop.cs:677
static unsafe void CopyOutAddress(IntPtr address, ref SocketAddress v4address, ref SocketAddress v6address)
Definition Interop.cs:912

References Interop.HttpApi.CopyOutAddress(), Interop.HttpApi.s_any, Interop.HttpApi.s_ipv6Any, and System.IntPtr.Zero.