/// <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); }
/// <summary> /// 当收到握手请求时,将触发此方法 /// 返回true说明验证握手请求参数合格 /// 否则将安全关闭客户端 /// </summary> /// <param name="client">客户端</param> /// <param name="request">握手请求</param> /// <returns></returns> protected virtual bool CheckHandshake(SocketAsync <Hybi13Packet> client, HandshakeRequest request) { return(true); }