www.pudn.com > Mir2Game.rar > ClientSocket.h


#ifndef _CLIENTSOCKET_H 
#define _CLIENTSOCKET_H 
 
#define ID_SOCKCLIENT_EVENT_MSG		WM_USER + 1000 
 
#include  
 
class CClientSocket 
{ 
protected: 
	int					m_nCurRecv; 
	CHAR				m_szBuff[8192 * 4];				// For Receive 
 
	char				m_szEncodeDefMsg[32];			// For Send 
	char				m_szEncodeBody[8192];			 
	char				m_szPacket[8192 * 2]; 
 
	int					m_nSync; 
 
	_TDEFAULTMESSAGE	DefMsg; 
 
public: 
	CClientSocket(); 
	virtual ~CClientSocket(); 
 
	SOCKET			m_sockClient; 
	CWHDefProcess*	m_pxDefProc; 
 
public: 
	unsigned long GetINetAddr(CHAR* pszDotAddress); 
 
	BOOL		InitSocket(HWND hWnd);	 
	BOOL		ConnectToServer(HWND hWnd, CHAR* szID, INT nPort); 
	BOOL		CheckSocketError(LPARAM lParam); 
	BOOL		DisconnectToServer(); 
//	VOID		SendToServer(CHAR *pszPacket); 
	VOID		SendPacket(_TDEFAULTMESSAGE* lpDefMsg, char *pszData); 
 
	// For Login 
	VOID		OnLogin(char *pszID, char *pszPassword); 
	VOID		OnSelectServer(char *pszServerName); 
	VOID		OnChangePassword(char *pszID, char *pszOldPassword, char *pszNewPassword); 
	VOID		OnNewAccount(char *pszNewAccount); 
 
	// For Character Select 
	VOID		OnQueryChar(); 
	VOID		OnNewChar( char *pszId, int nHair, int nJob, int nSex ); 
	VOID		OnDelChar( char *pszCharName ); 
	VOID		OnSelChar( char *pszCharName ); 
 
	// For Game playing 
	void		SendNoticeOK(); 
 
	void		SendNPCMessage(WORD wIdent,DWORD dwNpcId,INT reg,CHAR* szTxt);			// MOON 
	void		SendGetDetailItem(DWORD dwNpcId,INT nIndex,CHAR* szItemName);			// MOON 
	void		SendBuyItem(DWORD dwNpcId,CHAR* szItemName,CHAR* szItemIndex);			// MOON 
 
	VOID		SendOpenDoor(INT nX, INT nY, INT nIdx); 
	VOID		SendQueryMsg(WORD wIdent); 
	VOID		SendActMsg(WORD wIdent, INT nX, INT nY, INT nDir);	 
	VOID		SendHitMsg(WORD wIdent, INT nX, INT nY, INT nDir, WORD wHitStyle);	 
	VOID		SendRideMsg(WORD wIdent, INT nDir, BOOL bRide); 
	VOID		SendSpellMsg(INT nMagicID, INT nTargetX, INT nTargetY, INT nTargetID); 
	VOID		SendSay(CHAR *pszSay); 
	VOID		SendRunLogin(CHAR* szLoginID, CHAR* szCharName, INT nCertification, INT VersionNum); 
	VOID		SendTakeOnOffItem(WORD wIdent, BYTE bEquipNum, CHAR* szItemName, INT nItemIdx); 
	VOID		SendQueryName(INT nRecog, INT nX, INT nY); 
	VOID		SendMagicKeyChange(INT nKeyNum, INT nMagicID); 
	VOID		SendItemIndex(WORD wIdent, INT nItemIndex, CHAR* pszItemName); 
	VOID		SendPickUp(INT nX, INT nY); 
	VOID		SendButchAnimal(INT nX, INT nY, INT nDir, INT nActorID); 
	VOID		SendNPCClick(INT nRecog); 
 
	void		SendCreateGroup(char *pszWho); 
	void		SendGroupMode(BOOL fFlag); 
	void		SendAddGroupMember(char *pszWho); 
	void		SendDelGroupMember(char *pszWho); 
 
	void		SendGuildHome(); 
 
	LRESULT		OnSocketMessage(WPARAM wParam, LPARAM lParam); 
 
protected: 
}; 
 
#endif // _CLIENTSOCKET_H