⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmiocpmudule.h

📁 Soul的源代码,类似于劲舞团之类的游戏
💻 H
字号:
#ifndef __MATRIX_IOCPMUDULE_H
#define __MATRIX_IOCPMUDULE_H

#include <MatrixCore/Network/CMServerSocket.h>
#include <MatrixCore/Network/CMWorkThread.h>
#include <MatrixCore/Network/CMIocpAccept.h>
#include <MatrixCore/Network/CMPQueue.h>
#include <MatrixCore/System/CMThread.h>
#include <MatrixCore/System/CMException.h>
//#include <MatrixCore/Pattern/CMSingleton.h>


using namespace MatrixCore::Network;
using namespace MatrixCore::System;
//using namespace MatrixCore::Pattern;


namespace MatrixCore
{
	namespace Network
	{
        #define  DEF_WORKERTHREAD		4
		#define  DEF_WORKERTHREADMAX	100

		class CMIocpMudule : public CMThread
		{
		public:
			static	CMIocpMudule*	GetInstance();
			static	void			ReleaseInstance();

			INT						GetWorkerThreadSize();

			bool					Initialize(char * pIPAddress,int iPort,int iMaxAcceptUser
											,int WorkerThreadMax,LPTHREAD_START_ROUTINE StartRoutine = NULL);

			HANDLE					GetWorkerIOCPHandle();
			bool					AddHandleToIOCP( HANDLE handle, DWORD keyValue );
			BOOL					AddWorkerThead(LPTHREAD_START_ROUTINE StartRoutine);
			BOOL					DelWorkerThead();
			BOOL					SetIPAddress(char * pIPAddress,int iPort);	// IP客 器飘甫 汲沥秦霖促.	
			BOOL					GetIPAddress(char * pIPAddress,int* iPort);	// IP客 器飘 锅龋啊 乐绰瘤 犬牢茄促.
			int						SetServerSocket(char * pIP, int iPort);

			SOCKET	GetListenSocket() {
				return m_ListenSock; 	
			}				// Accept Socket阑 掘绢辰促.

			CMIocpMudule();
			CMIocpMudule(char * pIPAddress,int iPort);
			virtual	~CMIocpMudule();

			CMIocpAccept*				m_pIOAccepter;		//	Accept 努贰胶
			volatile long				m_UserCount;		//	立加 牢盔荐.
			int							m_Def_Workerthread;
			static	int					m_iThreadCurrentCnt;			//况目静饭靛 肮荐
		private:
			static	CMIocpMudule*		m_pSelfInstance;
			
			char 					m_pIPAdress[16];
			int						m_iPort;
			SOCKET					m_ListenSock;

			HANDLE					m_hWorkerIOCP;
			CMWorkerThread*			m_pWorkerThread[DEF_WORKERTHREADMAX];
		};


	}
	
}




#endif

⌨️ 快捷键说明

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