IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> ACE_TAO 017 ACE_wrappers |examples |Reactor -> 正文阅读

[网络协议]ACE_TAO 017 ACE_wrappers |examples |Reactor

看一个开源项目,示例代码是最直接的教程了。

ACE的Reactor代码如下图所示:

?打开README

This directory contains subdirectories that test the ACE Reactor and Proactor

  . Dgram
    Tests the CODgram and Dgram classes with the Reactor.

  . Misc
    Various miscellaneous tests of Reactor functionality
    (e.g., signals, timers, notification, etc.).

  . Multicast
    Tests out the ACE multicast capabilities in conjunction
    with the Reactor.

  . Ntalker
    A program that implements a multicast "chat" program.


  . Proactor
    A program that illustrates the "Proactive" version of
    the Reactor

用表格展示

代码内容
Dgram

基于UDP协议,包括ACE_SOCK_Dgram和ACE_SOCK_CODgram

http://www.dre.vanderbilt.edu/Doxygen/5.4/html/ace/a01650.html

http://www.dre.vanderbilt.edu/Doxygen/5.4/html/ace/a01647.html

FIFOFIFO一般指先入先出队列。用FIFO实现的服务——客户模型是用一个公共的只读管道接受请求,然后根据请求进程的进程ID另创建一个新的管道与其通信。
MiscReactor所有函数的测试例子
Multicast

UDP广播

https://blog.csdn.net/qq_41278986/article/details/118311200

NtalkerThis test program illustrates how the ACE datagram multicast feature works.
Proactor

This README file lists all the example applications for the Proactor framework.在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。

https://blog.csdn.net/weiwangchao_/article/details/42917507

TP_Reactor

This program demonstrates what we think is a bug in the ACE library. The
affected component is the ACE_TP_Reactor. According to the documentation, the
reactor ensures that only one of the handle_*() methods of an event handler is
called at a time. Tino found this to be not true and I wrote this example
program showing the behavior. I do not exclude the possibility that we are
using the ACE library in an unintended/wrong way. So comments on the code as
well as any other remarks are welcome.

就是ACE的Reactor测试框架

https://blog.csdn.net/chinaclock/article/details/49120497

https://blog.csdn.net/bingozq/article/details/2453570

WFMO_ReactorWFMO_Reactor是ACE_Reactor在Windows下的默认实现(为什么不选择ACE_Select_Reactor作为默认实现,可能是基于效率和强大性的考虑),WFMO_Reactor的低层使用的函数是WaitForMultipleObjects和WSAEventSelect,WSAEnumNetworkEvents。其中WaitForMultipleObjects函数用于处理线程,互斥量,信号灯,事件,定时器等事件,而WSAEventSelect用于处理网络IO事件。
https://blog.csdn.net/fullsail/article/details/2901792

总结:

Reactor的应用程序继承ACE_Event_Handler类,调用相关的封装实现网络通讯,包括UDP和TCP协议。自带断线重连功能。非常好用。

多谢,亲爱的美美。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 17:02:36  更:2021-08-23 17:04:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:38:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码