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

📄 cmclientsocket.h

📁 Soul的源代码,类似于劲舞团之类的游戏
💻 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;
		
		enum SockState 
		{
			DEF_NOCMD = 0x00,		//	扁夯 惑怕.
			DEF_CONNECTING,			//	楷搬矫档吝.
			DEF_CONNECTFAIL,		//  connect 俊矾
			DEF_CONNECTED,			//	楷搬 己傍.
			DEF_REJECTCONNECT,		//	辑滚俊辑 楷搬 芭何 (盔拜 哪腔磐啊 救难廉 乐促.
			DEF_CLOSED,				//	辑滚螟俊辑 立加阑 辆丰窍看促.
			DEF_TIMEOUT				//	矫埃 檬苞.
		};

		class CMClientSocket : public CMThread
		{
		public:
					CMClientSocket();
			virtual	~CMClientSocket();

					bool		Initialize(CMCQueue *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();
					int			GetConnectInfo();
					SOCKET*		GetListenSocket()
					{
						return &m_hConnectSocket; 
					}
					void close();


					int			m_WSAErr;								//	府矫宏 俊矾.
					DWORD		m_dwBufferSize;							//	单捞鸥狼 弥绊 农扁. PACKETBUFFERMAXSIZE - PACKETHEADERSIZE
					char 		m_pRcvBuffer[PACKETBUFFERMAXSIZE];		//	府矫宏 滚欺.PACKETBUFFERMAXSIZE
					char		m_cStatus;		
					DWORD		m_dwCompleteReadSize;					//  茄俺菩哦阑 促佬篮 荤捞令.
					DWORD		m_dwTotalReadSize;						//	傈眉 佬绊 乐绰 荤捞令.
					DWORD		m_dwReadSize;
					CMWorkerThread *m_pThread;
//					CMDebug		*m_pClientSockDebug;

					CMCQueue	*m_pUnSendData;
					CMCQueue	*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;
					SockState	   m_sSockState;

		protected:
			static	DWORD	WINAPI	EventSocketRunner( LPVOID parameter );

		};
	}
}

#endif

⌨️ 快捷键说明

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