Exemple #1
0
void CClientMgr::AcceptNewClient()
{
	for (int32 i = 0; i < s_backlog; ++i)
	{
		if (!m_Listen->CanAccept())
			break;

		OnNewClient();
	}
}
	void TcpServer::Accept()
	{
		sockaddr_in addr;
		int size = sizeof(sockaddr_in);
		int new_fd = accept(_fd_listen, (sockaddr *)&addr, &size);
		if(new_fd == -1)
			return;
		TcpClient::Pointer cl(OnNewClient(new_fd));
		cl->_Register(this);
		_fd_map[new_fd] = cl;
	}