Example #1
0
        protected override void AcceptWebSocket(TcpClient client)
        {
            var context = Ext.AcceptWebSocket(client, IsSecure);
            var socket  = context.WebSocket;
            var path    = Ext.UrlDecode(context.Path);

            if (path != Ext.UrlDecode(Ext.GetAbsolutePath(Uri)))
            {
                socket.Close(HttpStatusCode.NotImplemented);
                return;
            }

            if (Uri.IsAbsoluteUri)
            {
                socket.Url = Uri;
            }

            BindWebSocket(socket);
        }
Example #2
0
        protected override void AcceptWebSocket(TcpClient client)
        {
            var context = Ext.AcceptWebSocket(client, IsSecure);
            var socket  = context.WebSocket;
            var path    = Ext.UrlDecode(context.Path);

            IServiceHost svcHost;

            if (!_services.TryGetServiceHost(path, out svcHost))
            {
                socket.Close(HttpStatusCode.NotImplemented);
                return;
            }

            if (BaseUri.IsAbsoluteUri)
            {
                socket.Url = new Uri(BaseUri, path);
            }

            svcHost.BindWebSocket(socket);
        }