同城约会| 杂志期刊| 小说| 两性论坛| 军事电影| 两性知识| 电脑知识| 汽车| 旅游| 收藏

C++网络编程卷1 笔记:ACE_Message_Block类

来源: 作者: 出处:综艺读书 2006-05-22 
关 键 词:网络编程  存储  os  ie  c++  

ACE_Message_Block类

ACE_Message_Block用来封装"网络主机之间需要传输的数据";并能很好的管理动态内存分配。

每个ACE_Message_Block对象都包括一个“带有引用计数”的ACE_Data_Block指针成员,该成员指向实际的数据。

如果多个ACE_Message_Block连接在一起(通过Composite模式),形成单链表,则形成了“复合消息”结构。

将多条消息连接起来,形成双链表,则构成ACE_Message_Queue类,该类稍后介绍。

C++网络编程卷1 笔记:ACE_Message_Block类

点击查看大图

该类的成员函数:rd_ptr()wr_ptr()分别指向数据存储空间中活动部分的头部和尾部。

例子:程序将标准输入设备中的所有数据读到一个单链表中,并显示在标准输出设备上。

#include "ace/OS.h"
#include "ace/Message_Block.h"
int main (int argc, char *argv[]}
{
   ACE_Message_Block *head = new ACE_Message_Block (BUFSIZ);
   ACE_Message_Block *mblk = head;
   for (;;) {
     ssize_t nbytes = ACE::read_n (ACE_STDIN,
                                                     mblk->wr_ptr (),
                                                     mblk->size ());
     if (nbytes <= 0)
         break; // Break out at EOF or error.
     // Advance the write pointer to the end of the buffer.
     mblk->wr_ptr (nbytes);
     // Allocate message block and chain it at the end of list.
     mblk->cont (new ACE_Message_Block (BUFSIZ));
     mblk = mblk->cont () ;

     // Print the contents of the list to the standard output,
     for (mblk = head; mblk != 0; mblk = mblk->cont ( ) )
       ACE::write_n (ACEJ3TDOUT, mblk->rd_ptr (), mblk->length ( ) ) ;
    head->release ( ) ; // This releases all the memory in the chain,
    return 0;
}

其中cont()方法用于"将复合消息连接在一起"。

next()和prev()方法用来 设置和获取指向“ACE_Message_Queue中的双向链表”的指针。

简单来说:cont()用与复合数据, next()用于ACE_Message_Queue链表(该处有点拿不准,请各位赐教)

ACE::read_n和ACE::write_n封闭了C++的“输入/输出流”,并且该类具有平台无关性。如果使用cin和cout代替之,由于“内部缓冲”原因,则会引发额外的数据复制。

 

更多文章 更多内容请看C/C++技术专题  Java编程开发手册  网络故障手册专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
综艺读书宗旨
相关专题
·网络管理实用手册 (18178篇文章)
·网络故障手册 (11033篇文章)
·网络组网专题 (9325篇文章)
·网络建设 (10721篇文章)
·C/C++技术专题 (1404篇文章)
·Java编程开发手册 (7378篇文章)
热点标签: 网络编程  存储  os  ie  c++  
最新技术文档
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容
Web 全站
综艺电脑频道编辑信箱  告诉我们您想看的专题或文章

Google

友情互链 | 收藏本站 | 联系我们 | 在线留言 | 京ICP备08008424号|