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

📄 nwiocpserver.h

📁 这是我做的一个iocp的服务器端的测试代码
💻 H
字号:
#pragma once
#ifdef  NWSERVER_EXPORTS
#define NWSERVER_API __declspec(dllexport)
#else
#define NWSERVER_API __declspec(dllimport)
#endif
//一个比较上层的类,主要是控制网络模块,并为上层提供服务。
#include "SocketServer.h" 
#include "NWClientConnectionInfo.h"

class NWSERVER_API NWIocpServer :public CSocketServer
{
public:
	NWIocpServer(void);
	~NWIocpServer(void);
	/************************************************
	函数原型:InitServer();
	参数:	
	返回值:
	功能:		初始化服务器,  
	************************************************/
	int InitServer(USHORT usServerPort, IMessageProcess* pfnMsgNotify);
	/************************************************
	函数原型:UninitServer();
	参数:	
	返回值:
	功能:		反初始化服务器,  
	************************************************/
	int UninitServer();
	/************************************************
	函数原型:StartServer();
	参数:	
	返回值:
	功能:		启动服务器, 
	仅用于windows中。
	************************************************/
	int StartServer( );//启动
	/************************************************
	函数原型:StopServer();
	参数:	
	返回值:
	功能:		停止服务器,  
	************************************************/
	int StopServer();
	/************************************************
	函数原型:RegisterMsgFilter();
	参数:	
	返回值:
	功能:		注册消息输出函数,  
	************************************************/
	int RegisterMsgFilter( IMessageProcess* pfnMsgNotify );

	/************************************************
	函数原型:SendData();
	参数:	
	返回值:
	功能:		发送数据,  
	************************************************/	
	int SendData (const CLIENTKEY &ulnClientID,
		const void * pData,
		const size_t		&datalength );
	int ShutdownClient(const CLIENTKEY ulClientID );
	/************************************************
	函数原型:GetClientCount();
	参数:	
	返回值:
	功能:		得到当前连接的数据,  
	************************************************/
	UINT64 GetClientCount( )
	{
        return m_pcClientManager->GetClientCount();
	} 

	int PreparePackSink();//将上层的数据包转化成本模块能理解的数据包

	int PackDataToClient( const CLIENTKEY &ulnClientID,
		const void * const	pData,
		const size_t		&datalength );

	int SendPackToClient( const CLIENTKEY &ulnClientID /* -1 */ );

	const char * GetClientInfo( const CLIENTKEY & ulnClientID );

	void OnStartAcceptingConnections();//无数这样的函数,用来和上层交付 
	//static NWIocpServer * GetInstance() 
	//{
	//	return & m_Instance ;
	//}
protected: 

//	MyMSGProcessThreadList m_lsMSGProcessThreadList ;

	//static NWIocpServer m_Instance;
};
 

⌨️ 快捷键说明

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