StyleMan_NetEngine 轻量级网络引擎 v1.0发表
来源:互联网 发布:淘宝拍照用什么单反 编辑:程序博客网 时间:2024/05/17 06:50
StyleMan_NetEngine 轻量级网络引擎 v1.0发表
现在只封装了win32的 select+线程池 和 WSAAsyncSelect . 能满足300-500客户连接的网络服务需求.
/************************************************************************/
/*
服务端网络引擎接口
*/
/************************************************************************/
//回调处理数据函数原型
typedef VOID WINAPI ServerProcessRecvData( DWORD dwNetworkIndex , BYTE *pMsg , WORD wSize );
class INetEngine
{
public:
//virtual ~INetEngine(void)=0;
//是否已初始化监听
virtual BOOL IsListening()=0;
//网络初始化
virtual BOOL Init(char* IP, WORD Port , ServerProcessRecvData* pProcessRecvData , DWORD MaxConnectNum )=0;
//停止网络服务
virtual VOID Shutdown()=0;
//网络更新
virtual VOID Update()=0;
//单个断开
virtual BOOL DisConnect( DWORD dwNetworkIndex )=0;
//指定发送
virtual BOOL PutInt( DWORD dwNetworkIndex ,int v )=0;
virtual BOOL Putshort( DWORD dwNetworkIndex , short v )=0;
virtual BOOL FlushSendBuffer( DWORD dwNetworkIndex )=0;
//得到当前总连接数
virtual DWORD GetNumberOfConnections()=0;
//得到ip
virtual char* GetIP( DWORD dwNetworkIndex )=0;
//设置心跳超时.当客户超过这段时间,没有给服务器发送一包消息,就断定他断开了.
virtual void SetHeartbeatTimeOut(DWORD timeout)=0;//单位秒
//设置连接超时.当客户连接到服务端后.没有发送一包消息.超过这段时间,就把他断开.防止恶意空闲连接.
virtual void SetConnTimeOut(DWORD timeout)=0; //单位秒
};
/************************************************************************/
/*
客户端网络引擎接口
*/
/************************************************************************/
//回调处理数据函数原型
typedef VOID WINAPI ClientProcessRecvData( BYTE *pMsg , WORD wSize );
class INetClient
{
public:
//连接服务器
virtual BOOL Connect(const char* ServerIP, WORD Port , ClientProcessRecvData* pProcessRecvData )=0;
//断开连接
virtual BOOL DisConnect( )=0;
//指定发送
virtual BOOL Send( BYTE *pMsg , WORD wSize )=0;
};
//server socket io模型
enum eSERVER_SOCKET_IO_MODEL
{
eSELECT_THREADPOOL=0, //select+线程池
eWSASYNSELECT, //WSAAsyncSelect
};
//创建服务端网络引擎
NETWORK_API INetEngine* CreateNetEngine(eSERVER_SOCKET_IO_MODEL IO_mode,char*IP, WORD Port , ServerProcessRecvData* pProcessRecvData , DWORD MaxConnectNum );
//销毁服务端网络引擎
NETWORK_API VOID DestroyNetEngine( INetEngine* net );
//创建客户端网络引擎
NETWORK_API INetClient* CreateNetClient(const char* ServerIP, WORD Port , ClientProcessRecvData* pProcessRecvData );
//销毁客户端网络引擎
NETWORK_API VOID DestroyNetClient( INetClient* net );
- StyleMan_NetEngine 轻量级网络引擎 v1.0发表
- 轻量级php框架phpk v1.0发布
- 轻量级工作流引擎snaker 2.0.0
- OpenCart v1.4.9正式版发表
- 轻量级网络
- 按键游侠脚本引擎 v1.0 免费下载--IT man
- 昔忧(CEU)验证码识别引擎v1.0正式发布.
- 轻量级的通信引擎 StriveEngine
- Juicer 轻量级javascript模板引擎
- iOS轻量级布局引擎 BLSmartLayoutEngine
- 网络记事本(netnotebook) v1.0 下载
- 网络方舟(netark) v1.0 官方
- 网络质量测试器 v1.0 下载
- 网络邮箱(netzipher) v1.0 官网
- 网络寻宝图 v1.0 官方
- 网络通信调试工具 v1.0 官方
- 网络五子棋 v1.0 家用版 是什么
- 网络数据捕获手 v1.0 bt
- WebSphere中设置
- JS小游戏贪吃蛇+细致注释
- JSP简单计算验证码生成
- HDU 1506
- CObject::IsKindOf
- StyleMan_NetEngine 轻量级网络引擎 v1.0发表
- 利用Javascript刷新网页方法大全
- VisualSVN Server的配置和使用方法
- 工资表
- C# 类操作窗体控件的方法
- 21个免费的UI界面设计工具、资源及网站
- 对联广告代码效果大全
- 21个免费的UI界面设计工具、资源及网站
- 判断访问你网站的搜索引擎还是真实用户