ACE ace_echo_server_ace_acceptor 编程

来源:互联网 发布:大自考网络运营计划书 编辑:程序博客网 时间:2024/05/23 23:53
/*#include <ace/Svc_Handler.h>#include <ace/Acceptor.h>#include <ace/SOCK_Stream.h>#include <ace/SOCK_Acceptor.h>#include <ace/Log_Msg.h>class Connection: public ACE_Svc_Handler<ACE_SOCK_Stream, ACE_NULL_SYNCH> {public:virtual int handle_input(ACE_HANDLE h) {ssize_t len = peer().recv(buf, sizeof buf);if (len <= 0) {if (len != 0)ACE_ERROR((LM_ERROR, "%p\n", "peer().recv()"));return -1;}if (peer().send_n(buf, len) != len)ACE_ERROR_RETURN((LM_ERROR, "%p\n", "peer().send_n()"), -1);return 0;}~Connection() {ACE_ERROR((LM_ERROR, "~Connection()\n"));}private:char buf[512];};typedef ACE_Acceptor<Connection, ACE_SOCK_Acceptor> Acceptor;int main() {ACE_INET_Addr addr;if (addr.set(9988) == -1)ACE_ERROR_RETURN((LM_ERROR, "%p\n", "addr.set()"), -1);Acceptor acc;if (acc.open(addr) == -1)ACE_ERROR_RETURN((LM_ERROR, "%p\n", "acc.open()"), -1);ACE_Reactor::instance()->run_reactor_event_loop();return 0;}

0 0
原创粉丝点击