一、编写代码
/*
* ace_echo_server.cpp
*
*/
#include <iostream>
#include <string>
#include <cctype>
#include <ace/INET_Addr.h>
#include <ace/SOCK_Stream.h>
#include <ace/SOCK_Acceptor.h>
#include <ace/Log_Msg.h>
#include <ace/Reactor.h>
#include <ace/Auto_Ptr.h>
using namespace std;
class EchoService: public ACE_Event_Handler {
public:
ACE_SOCK_Stream& peer() {
return sock_;
}
int open() {
char peerName[MAXHOSTNAMELEN];
ACE_INET_Addr peerAddr;
if (sock_.get_remote_addr(peerAddr) == 0 && peerAddr.addr_to_string(
peerName, MAXHOSTNAMELEN) == 0)
cout << "connection from " << peerName << endl;
return this->reactor()->register_handler(this,
ACE_Event_Handler::READ_MASK);
}
virtual ACE_HANDLE get_handle() const {
return sock_.ge