/*
#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;
}
ACE ace_echo_server_ace_acceptor 编程
最新推荐文章于 2014-05-05 00:44:37 发布