ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework),在其中实现了许多用于并发通信软件的核心模式。
ACE提供了一组丰富的可复用C++ Wrapper Facade(包装外观)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等等。
ACE_Message_Queue
ACE消息队列,请参考:
ACE_Message_Block
ACE_Message_Block用于构建“固定”和“可变”长度的消息。ACE_Message_Block可以将多条消息连接在一起,形成一个链表,从而支持复合消息。请参考:
ACE_Thread_Manager
ACE线程管理类,请参考:
ACE日志设施
请参考:
ACE组播通信
请参考:
- ACE组播通信,by NoName.
- linux网络编程之一—–多播(组播)编程 ,by 胡永光.
问题参考
ACE静态链接问题
请参考
- ACE的”error LNK2019: unresolved external symbol”链接错误
- ACE的开发和使用 - FAQ
- How to solve unresolved external symbol error - if_nametoindex in visual studio 2013
ACE TCP Server无法Open的问题
最近突然发现ACE_SOCK_Acceptor.open方法报错,无法初始化,错误代码是10093,通过分析是WSAStartup()未初始化。最后在main函数文件中通过 #include <ace/OS_main.h> 解决。解决原因是该文件中将调用 WSAStartup() 函数初始化。
1 | ACE_INET_Addr commAddr(1500); |
ACE 多网口多播问题
当多播时存在多个网口,应指定多播绑定的网口。参考如下代码:
1 | #include "ace/SOCK_Dgram_Mcast.h" |
参考链接
- ACE 示例2 — Echo Server,by peirenlei.
- ACE自适配通信环境,by wikipedia.
- 服务器并发策略,by maodanp.
- Threads and Connections in Backend Applications,by Hussein Nasser.
- error LNK2019: 无法解析的外部符号 “int __cdecl ace_main_i(int,char * * const)” ,by 金士顿.
- Windows Sockets Error Codes,by microsoft.
- WSAStartup 函数 (winsock.h),by microsoft.
- socket 函数 (winsock2.h),by microsoft.
- ACE_SOCK,by 咚咚锵锵.
- C++ Winsock 10093 error,by stackoverflow.
- ACE_SOCK_Dgram_Mcast Class Reference,by vanderbilt.