/** @file HandlerUdp.h @brief
* Copyright (c) 2007,第九城市游戏研发中心 * All rights reserved. * * 当前版本: * 作 者:zhangsongwei * 完成日期:2008-7-23 * * 取代版本: * 作 者: * 完成日期:*/ #ifndef HANDLER_UDP_H #define HANDLER_UDP_H #include "aceall.h" /** * @class CHandlerUdp * * @brief 基于udp的处理模块 * * 该类有两种工作方式,一种直接使用,另外一种是依赖反应器使用 */ class CHandlerUdp : public ACE_Event_Handler { enum TMODE { NO_USE_REACTOR, USE_REACTOR }; public: /// 构造 explicit CHandlerUdp(unsigned short usLocalPort); /// 构造 explicit CHandlerUdp(const char *pszRemoteHost, unsigned short usRemotePort); /// 析构 virtual ~CHandlerUdp(void); void ReleaseUdpHandle() { close(); } public: /// 初始化 virtual int open(void * arg= 0); /// 清理 virtual int close(u_long flags = 0); /// 输入事件发生时被框架回调(数据到来) virtual int handle_input(ACE_HANDLE fd = ACE_INVALID_HANDLE); /** * 超时时被框架回调.