Exemplo n.º 1
0
        public static WebSocketSessionHandshake Handshake(object signal, Socket socket, Uri uri)
        {
            if (signal == null || socket == null || uri == null)
            {
                return(null);
            }
            WebSocketSessionHandshake handshake;

            lock (signal)
            {
                if (!socket.Connected || SocketExtension.CleanedUp(socket))
                {
                    return(null);
                }
                handshake = new WebSocketSessionHandshake(signal, socket, uri);
            }
            if (handshake == null || !handshake.Handle())
            {
                return(null);
            }
            return(handshake);
        }