Ejemplo n.º 1
0
 /// <summary>
 /// 当收到握手请求时,将触发此方法
 /// 返回true说明握手通过
 /// 否则基础服务将自动安全关闭客户端对象
 /// </summary>
 /// <param name="session">会话对象</param>
 /// <param name="request">握手请求</param>
 /// <returns></returns>
 protected virtual bool OnHandshake(T session, HandshakeRequest request)
 {
     if (string.Equals(request.Method, "GET", StringComparison.OrdinalIgnoreCase) == false)
     {
         return(false);
     }
     if (request.ExistHeader("Connection", "Upgrade") == false)
     {
         return(false);
     }
     if (request.ExistHeader("Upgrade", "websocket") == false)
     {
         return(false);
     }
     if (request.ExistHeader("Sec-WebSocket-Version", "13") == false)
     {
         return(false);
     }
     if (request["Sec-WebSocket-Key"] == null)
     {
         return(false);
     }
     return(true);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 当收到握手请求时,将触发此方法
 /// 返回true说明验证握手请求参数合格
 /// 否则将安全关闭客户端
 /// </summary>
 /// <param name="client">客户端</param>
 /// <param name="request">握手请求</param>
 /// <returns></returns>
 protected virtual bool CheckHandshake(SocketAsync <Hybi13Packet> client, HandshakeRequest request)
 {
     return(true);
 }