Example #1
0
        public virtual bool TryHandshake(WebSocketContext context, out IWebSocketReceiveFilter filter)
        {
            filter = null;

            var secWebSocketVersion = context.HandshakeRequest.Get(WebSocketConstant.SecWebSocketVersion);

            if (secWebSocketVersion == m_VersionTag)
            {
                filter = new T();
                return(true);
            }

            return(false);
        }
Example #2
0
        public bool TryHandshake(WebSocketContext context, out IWebSocketReceiveFilter filter)
        {
            var responseBuilder = new StringBuilder();

            responseBuilder.AppendWithCrCf("HTTP/1.1 400 Bad Request");
            responseBuilder.AppendWithCrCf("Upgrade: WebSocket");
            responseBuilder.AppendWithCrCf("Connection: Upgrade");
            responseBuilder.AppendWithCrCf("Sec-WebSocket-Version: " + string.Join(", ", m_Versions.Select(i => i.ToString()).ToArray()));
            responseBuilder.AppendWithCrCf();

            var switchResponse = Encoding.UTF8.GetBytes(responseBuilder.ToString());

            filter = new MultipleProtocolSwitchReceiveFilter(switchResponse);

            return(true);
        }
Example #3
0
        public override bool TryHandshake(WebSocketContext context, out IWebSocketReceiveFilter filter)
        {
            filter = null;

            var header = context.HandshakeRequest;

            var secKey1 = header.Get(WebSocketConstant.SecWebSocketKey1);
            var secKey2 = header.Get(WebSocketConstant.SecWebSocketKey2);

            if (!string.IsNullOrEmpty(secKey1) && !string.IsNullOrEmpty(secKey2))
            {
                filter = new DraftHybi00ReceiveFilter();
                return(true);
            }

            return(false);
        }
 public bool TryHandshake(WebSocketContext context, out IWebSocketReceiveFilter filter)
 {
     filter = new MultipleProtocolSwitchReceiveFilter(m_SwitchResponse);
     return(true);
 }