#include "Logging_Acceptor.h" #include "Logging_Event_Handler.h" int Logging_Acceptor::open (const ACE_INET_Addr &local_addr) { if (acceptor_.open (local_addr) == -1) return -1; return reactor ()->register_handler (this, ACE_Event_Handler::ACCEPT_MASK); } int Logging_Acceptor::handle_input (ACE_HANDLE) { Logging_Event_Handler *peer_handler = 0; ACE_NEW_RETURN (peer_handler, Logging_Event_Handler (reactor ()), -1); if (acceptor_.accept (peer_handler->peer ()) == -1) { delete peer_handler; return -1; } else if (peer_handler->open () == -1) { peer_handler->handle_close (); return -1; } return 0; } int Logging_Acceptor::handle_close (ACE_HANDLE, ACE_Reactor_Mask) { acceptor_.close (); delete this; return 0; }
测试语法高亮
最新推荐文章于 2025-12-27 10:00:01 发布
本文介绍了一个基于ACE框架的Logging服务器实现细节。主要包括Acceptor类的open方法用于打开服务器监听地址,handle_input方法处理客户端连接请求并创建事件处理器,以及handle_close方法关闭Acceptor并释放资源。
2204

被折叠的 条评论
为什么被折叠?



