/// <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!"); } } }
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!"); } } }