socketpool.h

来自「网络socket,IO,线程池」· C头文件 代码 · 共 60 行

H
60
字号
#ifndef _M_SOCKET_POOL_2004_7_28_ZHY_H
#define _M_SOCKET_POOL_2004_7_28_ZHY_H

#include "../socket/TcpSocket.h"
using namespace NET;

#include "../socket/UdpSocket.h"
using namespace NET;

#include "Pool.h"
using namespace Pool;

namespace Pool{

class	CTcpSocketPool:public TaskPool<CTcpSocket>
{
public:
	CTcpSocketPool(int maxSize):TaskPool<CTcpSocket>(maxSize)
	{}
	~CTcpSocketPool()
	{
		int nSize;
		while(nSize = GetTaskSize() > 0)
		{
				CTcpSocket* pSocket = TopTask();
				if(pSocket)
				{
					pSocket->Close();
					delete pSocket;					
				}
		}
	}
};


class	CUdpSocketPool:public TaskPool<CUdpSocket>
{
public:
	CUdpSocketPool(int maxSize = TASK_POOL_MAX):TaskPool<CUdpSocket>(maxSize)
	{}
	~CUdpSocketPool()
	{
		int nSize;
		while(nSize = GetTaskSize() > 0)
		{
				CUdpSocket* pSocket = TopTask();
				if(pSocket)
				{
					pSocket->Close();
					delete pSocket;					
				}
		}
	}
};



}

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?