Exemple #1
0
 //初始化
 public void Init(Socket socket)
 {
     this.socket = socket;
     isUse       = true;
     buffCount   = 0;
     //心跳处理,稍后实现GetTimeStamp方法
     lastTickTime = TimeUtility.GetTimeStamp();
 }
Exemple #2
0
        //心跳
        public void HeartBeat()
        {
            //Console.WriteLine("HeartBeat");
            long timeNow = TimeUtility.GetTimeStamp();

            for (int i = 0; i < conns.Length; i++)
            {
                Conn conn = conns[i];
                if (conn == null)
                {
                    continue;
                }
                if (!conn.isUse)
                {
                    continue;
                }

                if (timeNow - conn.lastTickTime > HEART_BEAT_TIME)
                {
                    Console.WriteLine("[心跳引起断开连接] " + conn.GetAdress());
                    CloseConn(conn);
                }
            }
        }
Exemple #3
0
 public static void HeartBeat(Conn conn, Protocol.ProtocolBase proto)
 {
     conn.lastTickTime = TimeUtility.GetTimeStamp();
     //Console.WriteLine("[HeartBeat]" + conn.GetAdress());
 }