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)); }
public static void WriteHandshakeResult(this NetworkStream stream, HandshakeResult hr) { stream.WriteSbyte((sbyte)hr); }
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)))); }