[COM]《COM本质论》读书笔记--COM是如何支持分布式的套间,保证其唯一性

来源:互联网 发布:微处理器 单片机 编辑:程序博客网 时间:2024/06/11 19:49

每个列集格式里都有一个OXID/OID/IPID组。网络上每个套间在创建时,都会分配一个唯一的OXID(对象引出标识符),这个OXID可用来找到网

络/IPC地址信息。OID(对象标识符)唯一标识了网络上的一个COM实体。IPID(接口指针标识符)唯一标识了套间中的一个接口指针。
  每台支持COM的机器必须提供一个OXID解释器(OR,OXID Resolver)服务,每一个套间被初始化时,COM分配一个OXID,然后在本地OR中注册这个

OXID, OR也记录了每个套间的本地IPC端口。

  如果散列过程发生在与对象的套间相同的机器上,那么OR只是简单在它本地的OXID表中查找OXID,然后返回本地的IPC地址。
如果散列过程发生在与对象的套间不同的机器上,那么本地OR首先检查本地"最近解析过的远程OXID"缓冲区,如果最近还没有碰到过这个OXID,
于是使用RPC,把请求转发给对象所在的主机上的OR。注意,被列集后的对象引用包含有对象的主机地址。