C++05:使用ACE-用ACE实现简易Echo Server

本文介绍了如何使用ACE库创建一个简单的Echo Server。通过四个步骤,包括编写代码、编译、运行程序ace_echo_server和使用telnet命令进行客户端测试,详细阐述了整个过程。在完成这些步骤后,可以在新的终端中通过telnet localhost 8868进行连接测试。
摘要由CSDN通过智能技术生成

一、编写代码

/*
 * 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值