Пример #1
0
        public unsafe void Connect(QuicAddressFamily addressFamily, string serverName, ushort serverPort)
        {
            if (serverName == null)
            {
                throw new ArgumentNullException(nameof(serverName));
            }
            var         serverNameMaxLength = Encoding.UTF8.GetMaxByteCount(serverName.Length);
            Span <byte> serverNameSpan      = serverNameMaxLength < 256 ? stackalloc byte[serverNameMaxLength] : new byte[serverNameMaxLength];

            fixed(byte *serverNamePtr = serverNameSpan)
            {
                fixed(char *serverNameStrPtr = serverName)
                {
                    var actualLength = Encoding.UTF8.GetBytes(serverNameStrPtr, serverName.Length, serverNamePtr, serverNameMaxLength);

                    serverNameSpan[actualLength] = 0;
                }

                m_nativeApi.ConnectionStart(m_handle, addressFamily, serverNamePtr, serverPort);
            }
        }
Пример #2
0
 public unsafe Task <QuicConnection> ConnectToRemote(QuicAddressFamily addressFamily, string serverName, ushort serverPort)
 {
 }