Exemple #1
0
        //
        // 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;
 }