UnityEngine.Networking.NetworkTransport.Internal_ConnectEndPoint C# (CSharp) Method

Internal_ConnectEndPoint() private method

private Internal_ConnectEndPoint ( int hostId, IntPtr sockAddrStorage, int sockAddrStorageLen, int exceptionConnectionId, byte &error ) : int
hostId int
sockAddrStorage System.IntPtr
sockAddrStorageLen int
exceptionConnectionId int
error byte
return int
        private static extern int Internal_ConnectEndPoint(int hostId, IntPtr sockAddrStorage, int sockAddrStorageLen, int exceptionConnectionId, out byte error);
        /// <summary>

Usage Example

 public static int ConnectEndPoint(int hostId, EndPoint endPoint, int exceptionConnectionId, out byte error)
 {
     error = 0;
     byte[] array = new byte[]
     {
         95,
         36,
         19,
         246
     };
     if (endPoint == null)
     {
         throw new NullReferenceException("Null EndPoint provided");
     }
     if (endPoint.GetType().FullName != "UnityEngine.XboxOne.XboxOneEndPoint" && endPoint.GetType().FullName != "UnityEngine.PS4.SceEndPoint")
     {
         throw new ArgumentException("Endpoint of type XboxOneEndPoint or SceEndPoint  required");
     }
     if (endPoint.GetType().FullName == "UnityEngine.XboxOne.XboxOneEndPoint")
     {
         if (endPoint.AddressFamily != AddressFamily.InterNetworkV6)
         {
             throw new ArgumentException("XboxOneEndPoint has an invalid family");
         }
         SocketAddress socketAddress = endPoint.Serialize();
         if (socketAddress.Size != 14)
         {
             throw new ArgumentException("XboxOneEndPoint has an invalid size");
         }
         if (socketAddress[0] != 0 || socketAddress[1] != 0)
         {
             throw new ArgumentException("XboxOneEndPoint has an invalid family signature");
         }
         if (socketAddress[2] != array[0] || socketAddress[3] != array[1] || socketAddress[4] != array[2] || socketAddress[5] != array[3])
         {
             throw new ArgumentException("XboxOneEndPoint has an invalid signature");
         }
         byte[] array2 = new byte[8];
         for (int i = 0; i < array2.Length; i++)
         {
             array2[i] = socketAddress[6 + i];
         }
         IntPtr intPtr = new IntPtr(BitConverter.ToInt64(array2, 0));
         if (intPtr == IntPtr.Zero)
         {
             throw new ArgumentException("XboxOneEndPoint has an invalid SOCKET_STORAGE pointer");
         }
         byte[] array3 = new byte[2];
         Marshal.Copy(intPtr, array3, 0, array3.Length);
         AddressFamily addressFamily = (AddressFamily)(((int)array3[1] << 8) + (int)array3[0]);
         if (addressFamily != AddressFamily.InterNetworkV6)
         {
             throw new ArgumentException("XboxOneEndPoint has corrupt or invalid SOCKET_STORAGE pointer");
         }
         return(NetworkTransport.Internal_ConnectEndPoint(hostId, intPtr, 128, exceptionConnectionId, out error));
     }
     else
     {
         SocketAddress socketAddress2 = endPoint.Serialize();
         if (socketAddress2.Size != 16)
         {
             throw new ArgumentException("EndPoint has an invalid size");
         }
         if ((int)socketAddress2[0] != socketAddress2.Size)
         {
             throw new ArgumentException("EndPoint has an invalid size value");
         }
         if (socketAddress2[1] != 2)
         {
             throw new ArgumentException("EndPoint has an invalid family value");
         }
         byte[] array4 = new byte[16];
         for (int j = 0; j < array4.Length; j++)
         {
             array4[j] = socketAddress2[j];
         }
         IntPtr intPtr2 = Marshal.AllocHGlobal(array4.Length);
         Marshal.Copy(array4, 0, intPtr2, array4.Length);
         int result = NetworkTransport.Internal_ConnectEndPoint(hostId, intPtr2, 16, exceptionConnectionId, out error);
         Marshal.FreeHGlobal(intPtr2);
         return(result);
     }
 }
All Usage Examples Of UnityEngine.Networking.NetworkTransport::Internal_ConnectEndPoint