
ACE
文章平均质量分 76
peirenlei
网络通讯
展开
-
ACE的安装步骤
当初我安装ACE时,失败了几次,后来按照这个来,才完全成功。如果大家有人使用VC助手的话,安装完后打开VC编写程序时,编译器最下面VX会不停的加载头文件,因为它要达到能够提示完成函数原形的功能,所以他要全部加载,但是每次都如此,会比较烦,你可以点击VX的option里设置一下directory,增加你的ace文件夹到里面,这样就OK了,终于可以爽爽的用了。 整理方法如下:一. W原创 2007-08-27 11:43:00 · 797 阅读 · 0 评论 -
ACE日志系统(2)
ACE可以将输出重新定向到stderr(缺省)、系统日志、输出流(Output Stream)、甚至是回调函数,在C/S结构中,ACE也可以实现客户端输出定向到服务器。本节将详细讨论这些内容。三 ACE的重新定向设置或改变ACE日志输出目标(logging sink)可以通过ACE_Log_Msg的方法open来完成,另外可通过set_flags和clr_flags来配合实现输出到多个转载 2007-11-20 12:03:00 · 548 阅读 · 0 评论 -
ACE日志系统(1)
介绍了ACE中日志系统(Logging Facility)的基本使用一、简介以前曾介绍过一个开源日志系统log4cplus,ACE也有自己的Logging Facility,与log4cplus相似,ACE日志系统也具有线程安全、灵活、分级显示等特点,可以面向程序调试、运行、测试、和维护等全生命周期,可以选择将信息输出到屏幕、文件、系统日志(如Windows下的Event log)、甚至是远程服务转载 2007-11-20 12:03:00 · 924 阅读 · 1 评论 -
创建一个可正常结束的Proactor服务器
这是APG上关于Proactor使用的例子,去掉了trace信息,做了一点小修改:#include #include #include #define LISTEN_PORT 5222class HA_Proactive_Service : public ACE_Service_Handler{public: ~HA_Proactive_转载 2007-11-20 12:02:00 · 500 阅读 · 0 评论 -
ACE网络开发中,各种Reactor实现的总结
大家好,第一次来这个属于ACEer的地方真的很高兴啊!下面就ACE中现有的三种Reactor做一些总结,都是我个人使用的经验,如有不妥还请指教。最近,偶在ACE_Reactor框架和ACE_Proactor框架的基础上写了一个网络应用框架,主要目的是将网络数据收发,网络错误处理,以及网络超时这些socket级的问题与应用逻辑分开,可以保证在应用逻辑的实现不变的情况下,随意改变网络层的实现(转载 2007-11-20 11:49:00 · 507 阅读 · 0 评论 -
数据接收中粘包及半包的处理
数据接收中粘包及半包的处理2006-10-16 09:45 from www.acejoy.com ACE网络编程开发论坛作者:Qinglan 在使用TCP协议的网络应用中,不可避免需要处理的一个问题就是半包和粘包的情况。 一种做法是在接收转载 2007-11-20 11:44:00 · 718 阅读 · 0 评论 -
ACE中网络通讯编程基本架构
ACE_INET_Addr类,包装了网络地址 ACE_SOCK_Connector类,扮演主动连接角色,发起通讯连接。连接到远端的服务。 ACE_SOCK_Acceptor类,扮演被动连接角色,等待连接。等待远端客户的请求。 ACE_SOCK_Stream类,扮演数据通讯角色,发送和接收数据。完成客户与服务之间的通讯。 利用ACE库来开发网络通讯程序是很原创 2007-11-20 11:41:00 · 560 阅读 · 0 评论 -
使用ACE Reactor框架编程
使用ACE Reactor框架编程高歌代码下载按照我的理解,我大致讲一下windows平台下的原理。在windows平台下ACE_Reactor的实现类是ACE_WMFO_Reactor,事件的多路分离是通过WaitForMultiObject和WSAEventSelect着两个函数来转载 2007-11-20 11:40:00 · 664 阅读 · 0 评论 -
采用C++的ACE库实现的一个通用的C/S架构通信程序(最终版)
ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework),在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++ Wrapper Facade(包装外观)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间转载 2007-11-20 11:32:00 · 1276 阅读 · 0 评论 -
在ACE中如何获得本地的ip地址?
#include "ace/INET_Addr.h"void print_all_interfaces(){ACE_INET_Addr *the_addr_array;size_t count = 0;int rc = ACE::get_ip_interfaces (count , the_addr_array);char address[30];int i = 0;while原创 2007-11-20 11:29:00 · 498 阅读 · 0 评论 -
ACE 安装指南及示例
The ADAPTIVE Communication Environment (ACE) 是一套免费的、开源的面向对象框架,它为大规模并发通信软件实现了许多核心的设计模式。ACE提供了一套丰富的、可重用的C++封装类和框架组件,并且可以跨平台实现大多数常见的通信软件的功能。本文将通过几个非常简单,并且可以说是粗糙的小例子,为大家讲述ACE的安装及配置过程。通过这些简单的小例子,带领大家以转载 2007-08-27 11:46:00 · 1247 阅读 · 0 评论 -
ACE示例3 - ACE Proactor
这个示例将用ACE Proactor来实现echo server代码量差不多只有完成端口的1/3ACE Reactor的实现http://www.cppblog.com/sandy/archive/2006/02/17/3308.html完成端口的实现http://www.cppblog.com/sandy/archive/2007/06/06/25670.html当然如果你理解了完成端口,ACE转载 2007-08-27 11:50:00 · 772 阅读 · 0 评论 -
ACE 示例2 --- Echo Server
Echo server就是那种提供回显服务的程序,就是收到什么,然后就发送什么的程序。两种实现方法1.Per client Per Thread (每个连接每个线程来处理)这种方式比较简单,易于实现。缺点是如果有大量的连接,必然占用过量的系统资源。代码:#ifdef _DEBUG#pragma comment(lib,"ACED.lib")#else#pragma comment(lib,"转载 2007-08-27 11:47:00 · 481 阅读 · 0 评论 -
ACE_ProactorEchoServer.cpp
// ACE_ProactorEchoServer.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "ace/OS_main.h"#include "ace/OS_NS_sys_socket.h"#include "ace/ACE.h"#include "ace/Service_Object.h"#include "ace/Asynch_原创 2007-12-07 16:48:00 · 470 阅读 · 1 评论