Пример #1
0
 /// <summary>
 /// Tcp 监听起始函数
 /// </summary>
 private void BeginAccept()
 {
     try
     {
         while (true)
         {
             if (Status == ServerStatus.Stop)
             {
                 System.Threading.Thread.Sleep(1000);
                 if (EnableLog(LogType.Warring))
                 {
                     Log(LogType.Warring, null, "server accept stop!");
                 }
                 continue;
             }
             if (Status == ServerStatus.Closed)
             {
                 break;
             }
             if (EnableLog(LogType.Debug))
             {
                 Log(LogType.Debug, null, "socket begin accept");
             }
             var acceptSocket = mSocket.Accept();
             if (EnableLog(LogType.Debug))
             {
                 Log(LogType.Debug, null, "{0} socket accept completed ", acceptSocket.RemoteEndPoint);
             }
             ///1. <see cref="AcceptProcess"/>
             ///2. <see cref="ConnectedProcess"/> 产生 TcpSession
             ///3. <see cref="BeginReceive"/> ==> <see cref="Socket.ReceiveAsync"/>
             ///4. <see cref="IO_Completed"/>
             mAcceptDispatcher.Enqueue(acceptSocket);
         }
     }
     catch (Exception e_)
     {
         if (EnableLog(LogType.Error))
         {
             Error(e_, null, "server accept error!");
         }
         Status = ServerStatus.AcceptError;
     }
     finally
     {
         if (EnableLog(LogType.Warring))
         {
             Log(LogType.Warring, null, "server accept quit!");
         }
     }
 }
Пример #2
0
 private void BeginAccept()
 {
     try
     {
         while (true)
         {
             if (Status == ServerStatus.Stop)
             {
                 System.Threading.Thread.Sleep(1000);
                 if (EnableLog(LogType.Warring))
                 {
                     Log(LogType.Warring, null, "server accept stop!");
                 }
                 continue;
             }
             if (Status == ServerStatus.Closed)
             {
                 break;
             }
             if (EnableLog(LogType.Debug))
             {
                 Log(LogType.Debug, null, "socket begin accept");
             }
             var acceptSocket = mSocket.Accept();
             if (EnableLog(LogType.Debug))
             {
                 Log(LogType.Debug, null, "{0} socket accept completed ", acceptSocket.RemoteEndPoint);
             }
             mAcceptDispatcher.Enqueue(acceptSocket);
         }
     }
     catch (Exception e_)
     {
         if (EnableLog(LogType.Error))
         {
             Error(e_, null, "server accept error!");
         }
         Status = ServerStatus.AcceptError;
     }
     finally
     {
         if (EnableLog(LogType.Warring))
         {
             Log(LogType.Warring, null, "server accept quit!");
         }
     }
 }