コード例 #1
0
        public void MakeConnection(HandshakeResult result, Uri uri, string resource)
        {
            if (result != HandshakeResult.Success)
            {
                OnConnectionFailed();
                return;
            }

            EmitLocally("connecting", "websocket");

            var socketUri = string.Format("{0}://{1}:{2}/{4}/1/websocket/{3}",
                                             uri.Scheme == Uri.UriSchemeHttps ? "wss" : "ws", uri.Host, uri.Port, Id,
                                             resource);

            m_socket = m_connectionFactory.CreateWebSocket(socketUri);

            m_socket.AllowUnstrustedCertificate = AllowUnstrustedCertificate;
            m_socket.Opened += OnOpened;
            m_socket.MessageReceived += OnMessageReceived;
            m_socket.Error += OnError;
            m_socket.Closed += OnClosed;

            m_heartBeatSignaler.Start(m_socket, HeartbeatTimeout);

            m_socket.Open();

            OnConnectionEstablished(Of(DefaultNamespace));
        }
コード例 #2
0
 public static void WriteHandshakeResult(this NetworkStream stream, HandshakeResult hr)
 {
     stream.WriteSbyte((sbyte)hr);
 }
コード例 #3
0
ファイル: Utilities.cs プロジェクト: piksel/LibNemesis.NET
 public static void WriteHandshakeResult(this NetworkStream stream, HandshakeResult hr)
 {
     stream.WriteSbyte((sbyte)hr);
 }
コード例 #4
0
        public Task <HandshakeResult> OnHandshakeRequest(HandshakeRequestPacket request, IConnection connection, CancellationToken cancellation = default(CancellationToken))
        {
            var userId = (string)request["userid"];

            return(Task.FromResult(HandshakeResult.Success(new User(userId, userId))));
        }