发现了《ACE程序员教程》中一个例程的问题

来源:互联网 发布:ios软件已过期 编辑:程序博客网 时间:2024/04/17 01:41

《ACE程序员教程》中的例2-4,使用数据报的客户端,编译完后,怎么都调不通。经过仔细调试,发现原因在这里:

    Client(char * remote_host,int port)
        :remote_addr_(remote_host),
        local_addr_((u_short)
0),local_(local_addr_)
    
{
        data_buf 
= new char[DATA_BUFFER_SIZE];
        
        remote_addr_.set_port_number(port);
    }

成员初始化列表中这句 remote_addr_(remote_host) ,如果给的是单纯 ip 地址,比如 127.0.0.1,则会初始化不成功,查看 ACE 源代码,此时应该给 ip:port 的模式 ,比如 127.0.0.1:5678。或者改成 remote_addr_(port, remote_host)  也可以。

      目前来说,《ACE程序员教程》给我的帮助是最大的,希望我的这篇文章能帮助 《ACE程序员教程》更加完善。