网络编程
文章平均质量分 79
colder2008
这个作者很懒,什么都没留下…
展开
-
在Fedora 8下安装ACE
<br />本文描述基于FC8操作系统下安装ACE 5.8.1版<br /><br />安装过程:<br />1.将ACE-5.8.1.zip 解压到/home/ace 下。<br />cd /home/ace<br />unzip ACE-5.8.1.zip<br /> <br />2.设置环境变量<br />vi .bash_profile<br />在其中增加如下行<br /><br />ACE_ROOT=/home/ace/ACE_wrappers; export原创 2010-08-11 15:33:00 · 726 阅读 · 0 评论 -
ACE线程管理机制-并发控制(1)
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />ACE Lock类属 <br />锁类属包含的类包装简单的锁定机制,比如互斥体、信号量、读/写互斥体和令牌等。这里我就以互斥体为例简单的介绍一下其使用方法,对其它的锁类进行一些简单的说明。 <br /> <br />1.互斥体的使用。 <br />互斥体用于保护共享的易变代码,也就是全局或静态数据。这样的数据必须通过互斥体进行保护,以防转载 2010-08-19 22:47:00 · 470 阅读 · 0 评论 -
ACE线程管理机制-并发控制(2)
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />ACE Guard类属<br />与C一级的互斥体API相比较,Mutex包装为同步多线程控制提供了一种优雅的接口。但是,Mutex潜在地容易出错,因为程序员有可能忘记调用release方法(当然,C级的互斥体API更容易出错)。这可能由于程序员的疏忽或是C++异常的发生而发生,然而,其导致及其严重的后果--死锁。 <br />因此,为转载 2010-08-19 22:52:00 · 554 阅读 · 0 评论 -
用ACE实现的生产者和消费者模式
<br />#include "ace/Log_Msg.h"#include "ace/Task.h"#include "ace/OS.h"#include "ace/Message_Block.h"#include <stdio.h>#include <string.h>typedef struct User_{ int len; char buffer[20]; int count;} User;//The Consumer Task.clas原创 2010-08-25 18:10:00 · 1461 阅读 · 0 评论 -
ACE_Manual_Event与ACE_Auto_Event区别
<br />#include "ace/Task.h"#include <ace/Manual_Event.h>#include <ace/Auto_Event.h>#include "ace/OS.h"#include <ace/Date_Time.h>#include <iostream>using namespace std;/*** if MANUAL reset* sleep till the event becomes signaled* ev原创 2010-08-25 16:23:00 · 2112 阅读 · 0 评论 -
ACE线程管理机制-并发控制(3)
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />ACE Condition类属<br />ACE Condition类属(条件变量)提供风格与互斥体、读者/作者锁和计数信号量不同的锁定机制。当持有锁的线程在临界区执行代码时,这三种机制让协作线程进行等待。相反,条件变量通常被一个线程用于使自己等待,直到一个涉及共享数据的条件表达式到达特定的状态。当另外的协作线程指示共享数据的状态已发生变化转载 2010-09-05 14:29:00 · 628 阅读 · 0 评论 -
ACE进程管理
<br />ACE把所有用于进程创建和控制的API都隐藏在ACE_Process包装类中.这个类允许程序员派生新的进程,继而等待新进程的终止.你通常会为每一个新进程使用一个ACE_Process类的对象,并且可以为新的子进程设置若干选项:<br />1、设置标准IO句柄;<br />2、指定两个进程间的句柄继承的工作方式;<br />3、设置子进程的环境块和命令行;<br />4、在Windows上指定各种安全属性,或在Unix上设置uid/gid/euid;<br />Unix程序原创 2010-09-05 22:22:00 · 4834 阅读 · 0 评论 -
ACE主动对象模式(1)
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />主动对象模式用于降低方法执行和方法调用之间的耦合。该模式描述了另外一种更为透明的任务间通信方法。 <br />传统上,所有的对象都是被动的代码段,对象中的代码是在对它发出方法调用的线程中执行的,当方法被调用时,调用线程将阻塞,直至调用结束。而主动对象却不一样。这些对象具有自己的命令执行线程,主动对象的方法将在自己的执行线程中执行,不会阻塞调用方转载 2010-10-01 12:44:00 · 952 阅读 · 0 评论 -
ACE主动对象模式(2)
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />在上篇文章里,我们简单的介绍了一下ACE主动对象实现方式,同时提出了两个问题:方法调用线程如何知道该方法已经执行完成? 如何或得方法的返回值?<br />要解决这两个问题,首先得介绍一下ACE_Future对象,ACE_Future是表示一个会在将来被赋值的"期货"对象,可以通过ready()函数查询它是否已经被赋值。该对象创建转载 2010-10-01 13:05:00 · 632 阅读 · 0 评论 -
ACE线程管理机制-线程的创建与管理
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />有过在不同的操作系统下用c++进行过多线程编程的朋友对那些线程处理的API可能深有体会,这些API提供了相同或是相似的功能,但是它们的API的差别却极为悬殊,十分令人头痛。 <br />ACE_Thread提供了对不同OS的线程调用的简单包装,通过一个通用的接口进行处理线程创建、挂起、取消和删除等问题。 <br />一. 线程入口函数<br转载 2010-08-17 21:31:00 · 467 阅读 · 0 评论 -
HTTP返回码总结
<br />HTTP协议状态码表示的意思主要分为五类,大体是: <br /> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <br /> 1×× 保留 <br /> 2×× 表示请求成功地接收 <br /> 3×× 为完成请求客户需进一步细化请求 <br /> 4×× 客户错误 <br /> 5×× 服务器错误 <br /> <br /> <br />100 Continue<br />指示客户端应该继续请求。回送用于通知客户端此次请求已经转载 2010-08-13 20:17:00 · 50950 阅读 · 3 评论 -
ACE_Message_Block功能简介
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />ACE_Message_Block在Ace中用来表示消息的存放空间,可用做网络通信中的消息缓冲区,使用非常频繁,下面将在如下方简单的介绍一下ACE_Message_Block相关功能。 创建消息块 释放消息块 从消息块中读写数据 数据的拷贝 其它常用函数 <br />1。创建消息块 <br />创建消息块的方式比较灵转载 2010-08-14 12:10:00 · 577 阅读 · 0 评论 -
VS2005下ACE-5.8.1安装
<br />VS2005下ACE-5.8.1安装<br /><br />本文记录了我在VS2005下安装ACE的过程,同时参考如下帖子:<br />http://www.cnblogs.com/TianFang/archive/2006/12/03/580714.html<br /><br />1.<br /> 安装环境:<br /> 1. 操作系统:Vista 专业版<br /> 2. 编译环境:VS2005中文版<br /> 3. ACE版本: AC原创 2010-08-11 17:03:00 · 1676 阅读 · 1 评论 -
ACE反应器(Reactor)模式(1)
<br />最近在博客园上看到几篇关于ACE方面的很好的帖子,今天在这里都转出来,就当自己收藏了。<br />本贴转自 http://www.cnblogs.com/TianFang/archive/2006/12/13/591332.html 作者:天方<br /> <br />1.ACE反应器框架简介<br />反应器(Reactor):用于事件多路分离和分派的体系结构模式<br />通常的,对一个文件描述符指定的文件或设备, 有两种工作方式: 阻塞与非阻塞。所谓阻塞方式的意思是指, 当试转载 2010-08-11 20:55:00 · 609 阅读 · 0 评论 -
ACE反应器(Reactor)模式(2)
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />在Socket编程中,常见的事件就是"读就绪","写就绪",通过对这两个事件的捕获分发,可以实现Socket中的异步操作。<br />Socket编程中的事件处理器<br />在前面我们已经介绍过,在ACE反应器框架中,任何都必须派生自ACE_Event_Handler类,并通过重载其相应会调事件处理函数来实现相应的回调处理的。在Socke转载 2010-08-11 21:14:00 · 455 阅读 · 0 评论 -
ACE反应器(Reactor)模式(3)
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />在服务器端使用Reactor框架<br />使用Reactor框架的服务器端结构如下:<br />服务器端注册两种事件处理器,ClientAcceptor和ClientService ,ClientService类负责和客户端的通信,每一个ClientService对象对应一个客户端的Socket连接。ClientAcceptor专门负转载 2010-08-11 21:25:00 · 441 阅读 · 0 评论 -
ACE反应器(Reactor)模式(4)
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />定时器的实现<br />通过Reactor机制,还可以很容易的实现定时器的功能,使用方式如下。编写一个事件反应器,重载handle_timeout()方法,该方法是定时器的触发时间到时,会自动触发该方法。通过Reactor的schedule_timer()方法注册定时器。启动reacotr的handle_events()转载 2010-08-11 22:55:00 · 812 阅读 · 1 评论 -
ACE中TCP通信
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />概述: <br />传输控制协议TCP(Transmission Control Protocol):TCP提供可靠的、面向连接的运输服务,用于高可靠性数据的传输。TCP协议的可靠性是指保证每个tcp报文能按照发送顺序到达客户端。<br />Tcp通信过程一般为如下步骤: 服务器绑定端口,等待客户端连接。 客户端通过服务器的ip和服务器转载 2010-08-12 22:09:00 · 643 阅读 · 0 评论 -
ACE中UDP通信
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />udp是一种无连接的协议,提供无连接不可靠的服务。<br />在ace中,通过ACE_SOCK_Dgram类提供udp通信服务,ACE_SOCK_Dgram和ACE_SOCK_Stream的API非常类似,一样提供了send,recv及close等常用操作,这里就不再累述了。<br />udp通信时无需像tcp那样建立连接和关闭连接转载 2010-08-12 22:13:00 · 711 阅读 · 0 评论 -
HTTP请求(GET与POST区别)和响应
<br />HTTP有两部分组成:请求与响应,下面分别整理。<br />一.HTTP请求<br />1.HTTP请求格式:<br /><br /><request line><br /><br /><headers><br /><br /><blank line><br /><br />[<request-body>]<br /><br />在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接转载 2010-08-13 21:54:00 · 1512 阅读 · 0 评论 -
ACE接受器-连接器模式
<br />本贴转自http://www.cnblogs.com/TianFang/category/78013.html 作者:天方<br /> <br />接受器-连接器设计模式(Acceptor-Connector)使分布式系统中的连接建立及服务初始化与一旦服务初始化后所执行的处理去耦合。 <br />这样的去耦合通过三种组件来完成:acceptor、connector 和 servicehandler(服务处理器)。 连接器主动地建立到远地接受器组件的连接,并初始化服务处理转载 2010-10-03 14:42:00 · 696 阅读 · 0 评论