// // Converts IPEndpoint class into native PEER_ADDRESS structure // internal static PEER_ADDRESS ConvertIPEndpointToPEER_ADDRESS(IPEndPoint endPoint) { PEER_ADDRESS pa = new PEER_ADDRESS(); SOCKADDR_IN6 sin = new SOCKADDR_IN6(); sin.sin6_family = (ushort)endPoint.AddressFamily; sin.sin6_flowinfo = 0; // unchecked { sin.sin6_port = (ushort)IPAddress.HostToNetworkOrder((short)endPoint.Port); } sin.sin6_scope_id = (uint)endPoint.Address.ScopeId; CollaborationHelperFunctions.ByteArrayToSin6Addr(endPoint.Address.GetAddressBytes(), ref sin); pa.dwSize = 32; pa.sin6 = sin; return(pa); }
// // Converts IPEndpoint class into native PEER_ADDRESS structure // internal static PEER_ADDRESS ConvertIPEndpointToPEER_ADDRESS(IPEndPoint endPoint) { PEER_ADDRESS pa = new PEER_ADDRESS(); SOCKADDR_IN6 sin = new SOCKADDR_IN6(); sin.sin6_family = (ushort)endPoint.AddressFamily; sin.sin6_flowinfo = 0; // unchecked{ sin.sin6_port = (ushort)IPAddress.HostToNetworkOrder((short)endPoint.Port); } sin.sin6_scope_id = (uint)endPoint.Address.ScopeId; CollaborationHelperFunctions.ByteArrayToSin6Addr(endPoint.Address.GetAddressBytes(), ref sin); pa.dwSize = 32; pa.sin6 = sin; return pa; }