Exemplo n.º 1
0
 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
     };
 }
Exemplo n.º 2
0
 internal void Reset()
 {
     Disconnect();
     // 重新创建连接组件
     heartBeat = new LCHeartBeat(this, OnDisconnect);
     router    = new LCRTMRouter();
     ws        = new LCWebSocketClient {
         OnMessage = OnMessage,
         OnClose   = OnDisconnect
     };
     _ = Reconnect();
 }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        /// <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();
        }