/// <summary> /// 设置会话的包装对象 /// </summary> /// <param name="session">会话</param> /// <param name="wrapper">包装对象</param> protected override void OnSetProtocolWrapper(ISession session, WebSocketSession wrapper) { var jsonWebSocketSession = new JsonWebSocketSession(this, wrapper); session.SetProtocolWrapper(Protocol.WebSocket, jsonWebSocketSession); }
/// <summary> /// 设置会话的包装对象 /// </summary> /// <param name="session">会话</param> /// <param name="wrapper">包装对象</param> protected override void OnSetProtocolWrapper(ISession session, WebSocketSession wrapper) { var jsonWebSocketSession = new JsonWebSocketSession(this, wrapper); session.SetProtocolWrapper("websocket", jsonWebSocketSession); }
/// <summary> /// 设置会话的包装对象 /// </summary> /// <param name="session">会话</param> /// <param name="wrapper">包装对象</param> protected virtual void OnSetProtocolWrapper(ISession session, WebSocketSession wrapper) { session.SetProtocolWrapper("websocket", wrapper); }
/// <summary> /// JsonWebSocket的客户端对象 /// </summary> /// <param name="server">服务器实例</param> /// <param name="session">WebSocket会话</param> public JsonWebSocketSession(JsonWebSocketMiddleware server, WebSocketSession session) { this.Middleware = server; this.session = session; }
/// <summary> /// 设置会话的包装对象 /// </summary> /// <param name="session">会话</param> /// <param name="wrapper">包装对象</param> protected virtual void OnSetProtocolWrapper(ISession session, WebSocketSession wrapper) { session.SetProtocolWrapper("websocket", wrapper); }
/// <summary> /// 回复握手请求 /// </summary> /// <param name="context">上下文</param> /// <param name="secValue">Sec-WebSocket-Key</param> /// <returns></returns> private Task ResponseHandshake(IContenxt context, string secValue) { return new Task(() => { try { var wrapper = new WebSocketSession(context.Session); var hansshakeResponse = new HandshakeResponse(secValue); wrapper.Send(hansshakeResponse); this.OnSetProtocolWrapper(context.Session, wrapper); } catch (Exception) { } }); }