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

📄 mhnetwork.h

📁 墨香最新私服
💻 H
字号:
// MHNetwork.h: interface for the CMHNetwork class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MHNETWORK_H__E93C75BD_70FA_4330_B63C_2B5A6A57132A__INCLUDED_)
#define AFX_MHNETWORK_H__E93C75BD_70FA_4330_B63C_2B5A6A57132A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "basenetworkinterface.h"
#include "Crypt.h"
class CGameState;

#define NETWORK USINGTON(CMHNetwork)

class CMHNetwork  
{
	BOOL m_bDisconnecting;
	HWND m_hMainWnd;
	CGameState* m_pCurState;

	ISC_BaseNetwork* m_pBaseNetwork;
	DWORD m_ConnectionIndex;
	
	DWORD m_RecvedDataSize;		// ¸Þ¼¼Áö¸¦ ¾ó¸¶³ª ¹Þ´ÂÁö ŽºÆ® Çϱâ À§Çؼ­
	DWORD m_RecvCount;

	CCrypt m_crypt;
	BYTE m_CheckSum;

#ifdef _DEBUG
	DWORD m_MsgIn[MP_MAX];
	DWORD m_MsgOut[MP_MAX];
	void AddMsgIn(BYTE Category,DWORD length)	{	m_MsgIn[Category] += length;	}
	void AddMsgOut(BYTE Category,DWORD length)	{	m_MsgOut[Category] += length;	}
	DWORD GetMsgIn(BYTE Category)	{	return m_MsgIn[Category];	}
	DWORD GetMsgOut(BYTE Category)	{	return m_MsgOut[Category];	}
	DWORD GetTotalMsgIn()
	{
		DWORD total = 0;
		for(int n=0;n<MP_MAX;++n)
			total += m_MsgIn[n];
	}
	DWORD GetTotalMsgOut()
	{
		DWORD total = 0;
		for(int n=0;n<MP_MAX;++n)
			total += m_MsgIn[n];
	}
#endif

public:
//	//MAKESINGLETON(CMHNetwork);

	CMHNetwork();
	virtual ~CMHNetwork();
	
	BOOL Init(HWND hWnd);
	void Release();

	BOOL ConnectToServer(char* ip,WORD port);
	void Disconnect();

	void SetCurState(CGameState* pState);
	
	void Send(MSGROOT* pMsg,int MsgLen);

	BOOL IsConnected()	{	return m_ConnectionIndex ? TRUE : FALSE;	}
	
	void SetCheckSum(BYTE CS)	{	m_CheckSum = CS;	}
	void SetKey( HselInit eninit, HselInit deinit ) {	m_crypt.Init(eninit, deinit); }
	void ReleaseKey()	{ m_crypt.Release(); }


	ISC_BaseNetwork* GetBaseNetwork()							{ return m_pBaseNetwork; }
	friend void OnCon(DWORD dwConIndex);
	friend void OnDisCon(DWORD dwConIndex);
	friend void OnRecv(DWORD dwConIndex,char* pMsg,DWORD msglen);
};

EXTERNGLOBALTON(CMHNetwork)
#endif // !defined(AFX_MHNETWORK_H__E93C75BD_70FA_4330_B63C_2B5A6A57132A__INCLUDED_)

⌨️ 快捷键说明

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