
ACE
freelancer_ex
这个作者很懒,什么都没留下…
展开
-
ACE学习笔记(一)
一、ACE_CDR::void mb_align (ACE_Message_Block *mb); { char * const start = ACE_ptr_align_binary (mb->base (), ACE_CDR::MAX_ALIGNMENT); mb->rd_ptr (star原创 2012-05-11 15:32:04 · 915 阅读 · 0 评论 -
ACE学习笔记(二)
今天又把ACE的整编和解编看了看,看看ACE_OutputCDR和ACE_InputCDR都做了什么,我就想知道两点,一是它内部的数据时怎么保存的,二是它在什么地方用到了hton*和ntoh*函数。 我只看了write_2和read_2函数,这2个比较有代表性。 首先它内部数据都保存在了ACE_Message_Block中,对ACE_OutputCDR::write_2,我没有定义ACE_E原创 2012-08-09 16:34:07 · 1633 阅读 · 0 评论 -
ACE学习笔记(三)
一边看《C++网络编程卷2》的ACE_Task一边做点笔记。 书上提到了个Active Object模式。ACE_Task启动了一组线程,它们共用一个线程函数,而在这个线程函数里,调用了ACE_Task::svc().代码很容易理解。网上找了个Active Object的定义: 1、构造一个命令(实现Command模式的一个命令)ACE中就是一个ACE_Message_Block 2、将该命原创 2012-08-15 15:58:46 · 1709 阅读 · 0 评论 -
ACE实践笔记(一)
最近使用ACE完成了一个视频转发服务器,这算是用ACE完成的第一个完整的程序,总结总结经验。 这个程序主要功能就是接收客户指令,连接指定设备,获取视频流,然后再传输给客户。 最初的想法是能够尽量多的负载视频路数,同时尽可能迅速的给客户响应。 这里使用了异步的Proactor框架,这个Proactor线程里面,负责接收连接,以及收到命令后做验证后,加入Task队列。 命令处理部分使用了Tas原创 2012-09-25 19:04:09 · 871 阅读 · 0 评论