📄 cmiocpaccept.h
字号:
#ifndef __MATRIX_ACCEPT_H
#define __MATRIX_ACCEPT_H
#include <MatrixCore/Network/CMPacket.h>
#include <list>
using namespace std;
namespace MatrixCore
{
namespace Network
{
#define DEF_MAXUSERSOCKET 10000
#define DEF_MAXSERVER_SOCKET 20
#define DEF_MEMSIZE 30000 //府矫宏 单捞鸥狼 肮荐..
class CMOVERLAPPED;
class CMServerSocket;
typedef list< CMOVERLAPPED * > OVL;
class CMMemoryManager : public CMPacket
{
public:
CMMemoryManager(INT iBuffMaxSize = DEF_MEMSIZE);
~CMMemoryManager();
void Reset(); // 皋葛府甫 檬扁拳 茄促..
char * GetCurrBuf(); // 泅犁 单捞鸥甫 镜荐 乐绰何盒.
char * SetCurrBuf(int iPos); // Recv单捞鸥甫 贸府窍绰 何盒阑 啊福虐绰 器牢磐甫 框流牢促.
char * GetTailPoint(); // 单捞鸥啊 甸绢啊乐绰 场何盒狼 林家蔼阑 府畔茄促.
char * SetTailPoint(int iPos); // 部府困摹甫 捞悼 矫挪促.
char * GetMemoryBuf(); // 府矫宏茄 单捞鸥 贸府 窍扁困秦 父甸菌促.
int GetMemorySize(bool bContinue = false); // 镜荐 乐绰 皋葛府狼 荤捞令甫 掘绢柯促.
char * GetMemoryPoint(); // 镜荐 乐绰 皋葛府狼 林家蔼阑 馆券茄促..
BOOL ReturnMemoryPoint(char* RtnPoint); // 促 敬 皋葛府 器牢磐甫 馆券且锭 敬促.
private:
char* m_pStartPoint; // 皋葛府 矫累 锅瘤.
char* m_pEndPoint; // 皋葛府 场 锅瘤.
char* m_pCurrPoint; // 泅犁 累诀甸绢哎 林家蔼.
char* m_pTailPoint; // 单捞鸥啊 甸绢啊 乐绰 场 何盒.
char* m_pHeadPoint; // 单捞鸥啊 甸绢啊 乐绰 矫累 何盒.
char* m_pDataPoint; // 单捞鸥甫 贸府窍绊 乐绰 何盒(recv俊辑)
INT m_iBuffMaxSize; // 皋葛府 劝寸 肮荐... bs荤捞令 * m_BuffMaxSize = 傈眉荤捞令..
LONG m_TotalSize; // 皋葛府 甸绢啊乐绰 箭磊.
};
class CMIocpAccept
{
public:
CMIocpAccept(int iMax_User);
virtual ~CMIocpAccept();
SOCKET GetListenSocket()
{
return m_ListenSock;
}
void AcceptContext( CMOVERLAPPED &ov,SOCKET sockListen = NULL ); //iocp俊 撅剂飘 家南阑 吧绢霖促.
void SetMaxUser(int iMax_User);
public:
OVL ovl;
CMServerSocket * m_pClientAcceptSock;
CMServerSocket * m_pSerAcceptSock;
volatile long dwCntID; //努扼捞攫飘 立加矫 绊蜡逞滚 何咯..
SOCKET m_ListenSock;
int m_iMaxUser;
CMOVERLAPPED* m_pClientOverlapped[DEF_MAXUSERSOCKET];
CMOVERLAPPED* m_pServOverlapped[DEF_MAXSERVER_SOCKET];
void SetServerAccept(char * pIP, int iPort);
};
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -