/// <summary> /// 初始化基本设置信息 /// </summary> private void Init(int maxConnectionCount) { _asyncReceive = new AsyncReceive(EventManager); _asyncAccept = new AsyncAccept(_asyncReceive, EventManager); //初始化配置项 ConfigData.MaxClientCount = maxConnectionCount; ConfigData.UserTokenPool = new SocketAsyncEventArgsPool(ConfigData.MaxClientCount); ConfigData.MaxAcceptedClients = new System.Threading.Semaphore(ConfigData.MaxClientCount, ConfigData.MaxClientCount); // AsyncUserToken userToken; for (int i = 0; i < ConfigData.MaxClientCount; i++) { userToken = new AsyncUserToken(ConfigData.BufferSize); userToken.ReceiveEventArgs.Completed += new EventHandler <SocketAsyncEventArgs>(_asyncReceive.OnIOCompleted); userToken.SendEventArgs.Completed += new EventHandler <SocketAsyncEventArgs>(AsyncSend.OnIOCompleted); ConfigData.UserTokenPool.Push(userToken); } }
public AsyncAccept(AsyncReceive asyncReceive, EventManager eventManager) { _asyncReceive = asyncReceive; _eventManager = eventManager; }