netengineclient.h

来自「采用完成端口的client/server DLL源码」· C头文件 代码 · 共 61 行

H
61
字号
// NETENGINECLIENT_H

// =================================================================
// 客户端网络引擎库,采用传统阻塞模型 
// ================================================================
// 作者(Aurthor):      姜云(FOX)
// 信箱(Email):        jiangyun@vip.citiz.net
// 日期(Developed On): 12.19.2003
// 更新(Last Update):  12.19.2003
// ================================================================
#ifndef NETENGINECLIENT_H_H_12_19_2003_
#define NETENGINECLIENT_H_H_12_19_2003_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//宏定义
#define DATA_BUFSIZE 8192
//头文件
#include "inetengineclient.h"
#include <winsock2.h>
#include <windows.h>
#include <iostream>
using namespace std;


//WSAEVENTSELECT模型,1根接受线程
class NetEngineClient
{
public:
	NetEngineClient( MsgFun a_pFun );
	~NetEngineClient( void );
	
public:
	static NetEngineClient* Instance( void );
	//工作线程
	static DWORD WINAPI ThreadFunc( LPVOID a_pVoid );
	
public:
	bool SendBuf( void* a_pBuf,DWORD a_dwLen );
	bool RecvBuf( void );
	bool Connect( char* a_pIP,DWORD a_dwPort );
	bool Disconnect( void );
	const SOCKET GetNetSocket( void );
	HANDLE GetHandle( void );

private:
	//接受线程创建
	bool CreateWorkThread( void );
	//事件处理
	bool MsgProcess( void* a_pBuf,NET_MSG a_eMsg );

private:
	SOCKET						m_NetSocket;//连接套接字
	char						m_cBuffer[DATA_BUFSIZE];//缓冲区
	static NetEngineClient*		m_pMe;//this指针
	MsgFun						m_pMsgProcessFun;//消息处理回调函数
	HANDLE						m_hEvent;//事件句柄
};
#endif //NETENGINECLIENT_H_H_12_19_2003_

⌨️ 快捷键说明

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