五、監(jiān)聽線程的實現(xiàn)
監(jiān)聽線程需要有一個MySocketServer來監(jiān)聽客戶端的連接,每當形成一個新的連接,查看是否超過設置的最大連接數(shù),如果超過則關閉連接,如果未超過設置的最大連接數(shù),則形成一個新的MyConnection,將其加入連接池和線程池。
MySocketServer *pServer = new MySocketServer(port);
MyConnectionPool *pPool = new MyConnectionPool();
while (!stopFlag)
{
MySocket * sock = pServer->acceptConnection(5);
if(sock != null)
{
if(m_connections.size > maxConnectionSize)
{
sock.close();
}
MyTask *pTask = new MyConnection();
pPool->addConnection(pTask);
}
}
本文導航
- 第1頁: 首頁
- 第2頁: 對Socket的封裝
- 第3頁: 線程池的實現(xiàn)
- 第4頁: 連接池的實現(xiàn)
- 第5頁: 監(jiān)聽線程的實現(xiàn)