前言 面向对象中间件体系结构 a) 主机基础设施中间件:封装socket,线程等不同主机的实现,形成统一的接口
如java,ACE b) 分布式中间件:连接管理,内存管理,整编,解编,端点和请求的多路分离,同步,多线程等,使程序员象开发独立应用程序一样开发分布式应用程序
分布式中间件的核心是 ORB(Object Requests Broker对象请求代理),如:COM+,JAVA RMI,CORBA 1 通信设计空间 1
1 面向连接协议 需要做出如下设计: 数据成帧策略 连接多路复用策略 1
链接多路复用:多个线程复用同一个 TCP 链接 2
非多路复用:多个进程使用多个链接
系统开销大 1
2 同步和异步消息交换 1
3 消息传递与共享内存 消息传递:消息中间件 共享内存: 本地共享内存:shmget(),shmat()
内存映射文件 分布式共享内存:虚拟内存,是本地共享内存的一种抽象
2 SOCKET API 概述 3 ACE Socket wrapper façade 3
1 ACE_Addr 运算符 == ,
= addr_type, addr_size 3
2 ACE_INET_Add 3
3 ACE_IPC_SAP 为其他ACE 对象提供了基本的“I/O”句柄操作能力 enable() disable() get_handle() set_handle() 3
4 ACE_SOCK 继承自 ACE_IPC_SAP, get _local_addr() set_local_addr() open() close() get_remote_addr() set_option() get_option() 3
5 ACE_SOCK_Connecter 主动 连接模式,是 一个工厂 类
发起一个 连接,并 在连接成功后 初始化一 个ACE_