Beispiel #1
0
 internal void CloseFree()
 {
     ReceiveBuffer.Free();
     ReceiveBigBuffer.TryFree();
     if (CheckTimer != null)
     {
         CheckTimer.Free(this);
         ClientCheckTimer.FreeNotNull(CheckTimer);
         CheckTimer = null;
     }
     FreeReceiveDeSerializer();
     if (Sender != null)
     {
         Sender.Close();
     }
 }
Beispiel #2
0
 /// <summary>
 /// 验证函数调用
 /// </summary>
 /// <param name="client"></param>
 /// <returns></returns>
 protected bool verifyMethod(ClientBase client)
 {
     if (isVerifyMethod = client.SocketVerifyMethod(Sender))
     {
         if (client.Attribute.GetCheckSeconds > 0 && CheckTimer == null)
         {
             CheckTimer = ClientCheckTimer.Get(client.Attribute.GetCheckSeconds);
             if (client.IsDisposed == 0)
             {
                 CheckTimer.Push(this);
             }
             else
             {
                 ClientCheckTimer.Free(ref CheckTimer);
                 return(false);
             }
         }
         return(true);
     }
     return(false);
 }
Beispiel #3
0
 /// <summary>
 /// 验证函数调用
 /// </summary>
 /// <param name="client"></param>
 /// <returns></returns>
 protected bool verifyMethod(ClientBase client)
 {
     if (isVerifyMethod = client.SocketVerifyMethod(Sender))
     {
         if (client.Attribute.GetCheckSeconds > 0 && CheckTimer == null)
         {
             ClientCheckTimer checkTimer = new ClientCheckTimer(this, Math.Max(client.Attribute.GetCheckSeconds, 1));
             if (Interlocked.CompareExchange(ref CheckTimer, checkTimer, null) == null)
             {
                 if (client.IsDisposed == 0)
                 {
                     checkTimer.AppendTaskArray();
                 }
                 else
                 {
                     return(false);
                 }
             }
         }
         return(true);
     }
     return(false);
 }