`
edge_hh
  • 浏览: 12013 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

DRB时mixin的疑惑,是个bug?

阅读更多
还记得我原来的帖子吗?
http://www.iteye.com/topic/156641

现在发现有个比较灵异的现象。
DRB+mixin时会有出乎我意料的行为。

server:
require 'drb'
require 'module_a'

class ServerHello   
	include TestModule1
  def sayHello    
    puts 'I am server'    
  end  
end
DRb.start_service("druby://127.0.0.1:2222", ServerHello.new)
DRb.thread.join


client:
require 'drb' 
require 'module_a' 
include TestModule1
DRb.start_service  
info = DRbObject.new(nil, "druby://127.0.0.1:2222")      
info.sayHello()  
info.sayHello2 

module_a:

require 'drb'
module TestModule1
	def sayHello2
		puts "who am i"
	end
end


这3个文件在同一个目录时,先执行server.rb,再执行client.rb。结果是:
server.rb输出
I am server
clietn.rb输出
who am i
而不是我想要的 server.rb同时输出:
I am server
who am i

“info.sayHello2” 这句话居然是在本地调用的,而不是server端。
(或者更确切的说是client调到server,server再回调到client的sayHello2方法。因为假如把puts "who am i" 修改成 puts self, 输出是DRbObject)

如果我把client端的“include TestModule1”注释调,那么行为是正常的。

但是这不是我想要的,因为某些server端和client端公用的lib就是要被大家一起include的。

怎么说info.sayHello2 也不应该调用本地的呀
分享到:
评论
1 楼 lllyq 2008-04-17  
所谓的远程方法的调用其实就是对DRbObject的方法调用,真正的调用远程方法是通过method_missing激活的,本地有了自然调用本地的

相关推荐

    Report DRB.xls

    Report DRB

    DRB System 1125.pptx

    - 当inline/offline chart出现>=1点OOS时,会触发DRB案例。 - 若未达到触发条件,则按照Module O.I.流程处理。 **处理流程**: 1. **初步处理**:根据Module O.I.流程先行处理。 2. **信息填写**:Module PE完成...

    DRB System 1130.pptx

    根据提供的文档内容,我们可以推断出DRB System 1130主要涉及的是一个用于半导体制造过程中的缺陷管理和处理流程的系统。以下是对该系统的关键知识点进行详细解析: ### DRB系统简介 DRB(Defect Review Board)...

    DrB_libraries-源码.rar

    【描述】"DrB_libraries-源码.rar" 没有提供具体的描述,但我们可以推测这可能是一个个人或团队(DrB)开发的开源或私有库。这些库可能包含了各种功能,如数据处理、算法实现、网络通信等,广泛应用于不同类型的软件...

    PyPI 官网下载 | drb_impl_http-1.0.0a0-py3-none-any.whl

    标题中的"PyPI 官网下载 | drb_impl_http-1.0.0a0-py3-none-any.whl"表明这是一个从Python Package Index (PyPI)官方源下载的软件包,名为`drb_impl_http`,版本为`1.0.0a0`,适用于Python 3解释器,且不依赖特定的...

    应用完整外显子23 序列解决HLA-DRB1 座位基因分型的歧义结果.pdf

    在实验方法中,设计了组特异性的引物,例如将DRB1*04/07/09作为一个组,其他基因家族作为一个组,这有助于区分不同的基因型。通过对这些特定引物的PCR反应,可以扩增并测序目标区域,从而明确等位基因的身份。 通过...

    The HLA-DRB1 Shared Epitope (SE)-associated DR-DQ Haplotypes is Predominantly Associated with Both Anti-Cyclic Citrullinated Peptides (CCPs) antibodies-Positive and -Negative Rheumatoid Arthritis in Han Population

    汉族人群中HLA-DRB1共同表位相关的DR-DQ单倍型与CCP阳性及CCP阴性类风湿关节炎相关性研究,刘栩,郭建萍,目的 研究在中国汉族人群中,人类白细胞抗原HLA-DRB1,DQA1,DQB1单倍型与类风湿关节炎易感性及其特异性抗体...

    中国美利奴羊MHC-DRB1基因PCR-RFLP多态性分析

    中国美利奴羊MHC-DRB1基因PCR-RFLP多态性分析,贾斌,,本研究应用巢式PCR-RFLP方法,对207只中国美利奴(新疆军垦型)羊的MHC-DRB1外显子2的遗传多态性进行检测,并对基因型频率和等位基因频率

    Distributed Ruby

    - **远程方法调用**:DRb允许一个进程中的对象调用另一个进程中的对象的方法,这为创建分布式应用程序提供了便利。 - **不依赖其他分布式架构**:DRb不使用也不依赖于如.NET、RMI和CORBA等其他分布式系统架构。这...

    多浪羊MHC-DRB1基因多态性与包虫病抗性分析

    多浪羊MHC-DRB1基因多态性与包虫病抗性分析,余智勇,李海,通过PCR扩增122只包虫病(细粒棘球蚴病)阴性和70只包虫病阳性多浪羊的MHC -DRB1第二外显子,产物经SacI、Hin1I和HaeⅢ三种限制性内切酶进�

    38523SDAP相关介绍7.1.4.docx

    5. **流程5**:当RRC配置了一个新的QoS流到DRB映射时,UE将更新存储的映射,以便在旧DRB上发送QoS流的终止标记控制PDU。 **7.1.4.1步骤1-2**:系统侧(SS)通过DRB k向UE发送带有SDAP头部的SDAP数据PDU,其中RDI=0...

    5G(NR)网络中PDU会话建立的四大步.docx

    在5G(NR)网络中,PDU(Packet Data Unit)会话的建立是一个关键的过程,它确保了从终端(UE)到5G核心网(5GC)的业务数据流能够顺利传输。与4G(LTE)网络中的EPS承载概念不同,5G引入了PDU会话的概念,以更好地...

    DrB_libraries

    "DrB_libraries"是一个专为开发者设计的插件库,它包含了一系列的代码库、框架和工具,旨在简化和加速开发过程。虽然在提供的标签中没有具体的技术领域信息,但我们可以从“DrB_libraries”这个名字推测,这可能是一...

    3GPP协议37324-g20 SDAP.docx

    当UE(User Equipment)收到SDAP数据PDU时,它会执行反射QoS流到DRB映射的过程。这个过程包括检索相应的SDAP信号分配装置,并将其上层。 SDAP协议是5G NR中的一个关键协议,负责服务数据的自适应处理和映射。它提供...

    Distributed Computing With Python

    - **分布式计算**:一种计算模型,在该模型中,多台计算机通过网络连接在一起协同工作,共同解决一个复杂的问题。 - **Python在分布式计算中的应用**:Python作为一种流行的编程语言,因其简洁易读、丰富的库支持而...

    硬盘主引导扇区(MBR、DPT、DBR、BPB)详解

    每个分区项占16字节,最多可以存储4个主分区或3个主分区加一个扩展分区的信息。DPT的格式决定了硬盘的最大容量为8.4GB,这是由于DPT采用的是CHS(Cylinder-Head-Sector)寻址方式,而这种寻址方式的限制导致了容量上...

    5G无线网初级试题FINAL.xlsx

    5G无线网初级试题FINA 5G两个基站之间的接口是? 云化的5G无线网络中,以下哪个协议层不属于RAN-DU? 以下选项中, 哪个不是毫米波的...当NR的子载波间隔为60KHz时,一个时隙的时间长度是多少? Massive MIMO上行通过MU-

    Python库 | drb_impl_xml-1.0a1-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:drb_impl_xml-1.0a1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

Global site tag (gtag.js) - Google Analytics