示例#1
0
        private void UpdateHandle()
        {
            //处理Handle
            var received = ReceiveBufferMessage.GetMessage();

            if (received != null && received.Count > 0)
            {
                while (received.Count > 0)
                {
                    HandleMessage(received.Dequeue());
                }
            }
            //time out
            if (LastPingTime + PingDurtion * TimeSpan.TicksPerMillisecond < DateTime.Now.Ticks)
            {
                LastPingTime = DateTime.Now.Ticks;
                Ping();
            }
            foreach (var handler in Handlers.Values)
            {
                handler.Update();
            }

            if (SyncCall.Count > 0)
            {
                var list = SyncCall.ToList();
                SyncCall.Clear();
                foreach (var i in list)
                {
                    i();
                }
            }
        }
示例#2
0
 private void ReceivedBufferMessage(Message message)
 {
     ReceiveBufferMessage.AddMessage(message);
 }