ACE安装配置--ubuntu技巧
2008-09-11 10:58
288 查看
ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework),在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++ Wrapper Facade(包装外观)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等等。
不再继续介绍了,我来介绍一下ACE在ubuntu下的安装,并运行一个简单的示例。
sudo apt-get install libace-dev libace-doc libace5.4.7c2a libssl-dev这样,一个完整的开发以及运行环境就建立起来了。
下面,写一个简单的程序来体验一下这个框架。
#include <ace/SOCK_Connector.h>
#include <ace/SOCK_Stream.h>
int main(int argc, char *argv[])
{
const char *pathname =
argc > 1 ? argv[1] : "/";
const char *server_hostname =
argc > 2 ? argv[2] : "www.herofit.com";
ACE_SOCK_Connector connector;
ACE_SOCK_Stream peer;
ACE_INET_Addr peer_addr;
if (peer_addr.set(80, server_hostname) == -1 )
return 1;
else if (connector.connect( peer, peer_addr) == -1)
return 1;
char buf[BUFSIZ];
iovec iov[3];
iov[0].iov_base=(void*)"GET ";
iov[0].iov_len=4;
iov[1].iov_base=(void*)pathname;
iov[1].iov_len=strlen(pathname);
iov[2].iov_base=(void*)" HTTP/1.0/r/n/r/n";
iov[2].iov_len=13;
if (peer.sendv_n(iov, 3) == -1)
return 1;
for(ssize_t n;(n = peer.recv(buf,sizeof(buf)))>0;)
ACE::write_n(ACE_STDOUT, buf, n);
return peer.close();
}
编译上面的程序:
g++ testace.cpp -o testace -lACE运行:
./testace index.php www.herofit.com
[/code]最后提醒一点,ACE的授权许可证并不要求使用它的软件开放源码。
不再继续介绍了,我来介绍一下ACE在ubuntu下的安装,并运行一个简单的示例。
sudo apt-get install libace-dev libace-doc libace5.4.7c2a libssl-dev这样,一个完整的开发以及运行环境就建立起来了。
下面,写一个简单的程序来体验一下这个框架。
[code]#include <ace/INET_Addr.h>
#include <ace/SOCK_Connector.h>
#include <ace/SOCK_Stream.h>
int main(int argc, char *argv[])
{
const char *pathname =
argc > 1 ? argv[1] : "/";
const char *server_hostname =
argc > 2 ? argv[2] : "www.herofit.com";
ACE_SOCK_Connector connector;
ACE_SOCK_Stream peer;
ACE_INET_Addr peer_addr;
if (peer_addr.set(80, server_hostname) == -1 )
return 1;
else if (connector.connect( peer, peer_addr) == -1)
return 1;
char buf[BUFSIZ];
iovec iov[3];
iov[0].iov_base=(void*)"GET ";
iov[0].iov_len=4;
iov[1].iov_base=(void*)pathname;
iov[1].iov_len=strlen(pathname);
iov[2].iov_base=(void*)" HTTP/1.0/r/n/r/n";
iov[2].iov_len=13;
if (peer.sendv_n(iov, 3) == -1)
return 1;
for(ssize_t n;(n = peer.recv(buf,sizeof(buf)))>0;)
ACE::write_n(ACE_STDOUT, buf, n);
return peer.close();
}
编译上面的程序:
g++ testace.cpp -o testace -lACE运行:
./testace index.php www.herofit.com
[/code]最后提醒一点,ACE的授权许可证并不要求使用它的软件开放源码。
相关文章推荐
- ubuntu下安装配置 ACE-5.7.8
- Linux(Ubuntu)下mysql5.7.17安装配置方法图文教程
- ubuntu server安装配置jdk
- ubuntu下ftp的安装和配置
- Ubuntu12.10下jdk1.7安装配置
- Ubuntu16.04 下安装 MySQL 及配置
- Ubuntu下Tomcat8的安装与配置
- 【深度学习】Ubuntu环境下Tensorflow的安装以及与Pycharm的相互配置
- 在ubuntu中安装与配置zsh与oh-my-zsh
- Ubuntu16.04安装ftp配置
- ubuntu postgresql 图形化安装与配置
- 讲解安装Ubuntu nfs配置系统
- 腾讯云服务器ubuntu桌面安装与配置
- ubuntu之vsftpd 安装配置笔记
- Ubuntu下安装配置MPICH2.1.4
- Ubuntu 侧边栏软件:conky 安装配置
- Ubuntu安装redis并配置远程、密码以及开启php扩展
- ubuntu上安装配置mysql
- Ubuntu JDK安装配置的详细步骤: