📄 cmserclientsock.h
字号:
#ifndef __MATRIX_CLIENTSOCKET_H
#define __MATRIX_CLIENTSOCKET_H
#include <MatrixCore/System/CMException.h>
//using namespace MatrixCore::Network;
using namespace MatrixCore::System;
namespace MatrixCore
{
namespace Network
{
class CMCQueue;
class CMPackQueue;
class CMWorkerThread;
class CMPacket;
class CMSerClientSockErrorException : public CMException
{
};
class CMSerClientSock : public CMThread
{
public:
CMSerClientSock();
virtual ~CMSerClientSock();
bool Initialize(CMPackQueue *pQueue,LPTHREAD_START_ROUTINE StartRoutine = NULL);
LPTSTR GetMyIP(); // 磊扁 磊脚狼 ip甫 备秦辰促.
void Close();
BOOL Connect(char *cIP, short sPort);
BOOL SendMsg(char *sendbuff, int size);
void run();
BOOL _iOnRead(unsigned short *sId,unsigned short *sGameType);
BOOL UnSendDataMsg( SOCKET s );
void StopThread();
BOOL bSelectConnect();
BOOL bReadyThead();
BOOL bServPostRecv();
BOOL bSetOverlapped(int iRecvQueue = 0);
SOCKET* GetListenSocket()
{
return &m_hConnectSocket;
}
void close();
int m_WSAErr; // 府矫宏 俊矾.
DWORD m_dwBufferSize; // 单捞鸥狼 弥绊 农扁. PACKETBUFFERMAXSIZE - PACKETHEADERSIZE
char m_pRcvBuffer[PACKETBUFFERMAXSIZE]; // 府矫宏 滚欺.
char m_cStatus;
DWORD m_dwCompleteReadSize; // 茄俺菩哦阑 促佬篮 荤捞令.
DWORD m_dwTotalReadSize; // 傈眉 佬绊 乐绰 荤捞令.
DWORD m_dwReadSize;
CMOVERLAPPED m_OverlappedIO;
CMWorkerThread *m_pThread;
// CMDebug *m_pClientSockDebug;
CMCQueue *m_pUnSendData;
CMPackQueue *m_pQueue; // 府矫宏 钮捞促.
CMPacket *m_pEditPacket;
DWORD m_dwID; // 荤侩磊付促 罚待 绊蜡 酒捞叼.
static DWORD m_dwRandomID ; // 荤侩磊付促 罚待 绊蜡 酒捞叼 墨款磐.
BOOL m_IsStart; //Connect秦档 登绰啊? 惑怕蔼. TRUE搁 CONNECT啊瓷.
bool m_stThreadLoop;
char m_MyIP[16];
HANDLE m_hEvent[2];
SOCKET m_hConnectSocket;
protected:
static DWORD WINAPI EventSocketRunner( LPVOID parameter );
};
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -