public LCLiveQueryConnection(string id) { this.id = id; responses = new Dictionary <int, TaskCompletionSource <Dictionary <string, object> > >(); heartBeat = new LCLiveQueryHeartBeat(this, OnPingTimeout); router = new LCRTMRouter(); client = new LCWebSocketClient { OnMessage = OnClientMessage, OnClose = OnClientDisconnect }; }
internal void Reset() { Disconnect(); // 重新创建连接组件 heartBeat = new LCHeartBeat(this, OnDisconnect); router = new LCRTMRouter(); ws = new LCWebSocketClient { OnMessage = OnMessage, OnClose = OnDisconnect }; _ = Reconnect(); }
internal LCConnection(string id) { this.id = id; requestToResponses = new Dictionary <GenericCommand, TaskCompletionSource <GenericCommand> >(new RequestAndResponseComparer()); heartBeat = new LCHeartBeat(this, OnDisconnect); router = new LCRTMRouter(); ws = new LCWebSocketClient { OnMessage = OnMessage, OnClose = OnDisconnect }; idToClients = new Dictionary <string, LCIMClient>(); state = State.None; }
/// <summary> /// Resets connection /// </summary> /// <returns></returns> internal async Task Reset() { heartBeat?.Stop(); // 关闭就连接 await client.Close(); // 重新创建连接组件 heartBeat = new LCLiveQueryHeartBeat(this, OnPingTimeout); router = new LCRTMRouter(); client = new LCWebSocketClient { OnMessage = OnClientMessage, OnClose = OnClientDisconnect }; await Reconnect(); }