2010-12-10 46 views

回答

2

通常不需要。

通過角色代理訪問遠程參與者,這與具體參與者的實施無關。只要與演員合作的方式是發送消息(因此,避免直接調用演員方法,不幸的是,標準Scala演員可能會這樣做,但是,例如,在Akka中不可能有演員和演員參考分離)代理將在大多數情況下爲你工作。

但是,有些情況下,在其他節點上需要actor的字節碼時。例如,當您想要使用郵箱序列化actor時,並將其發送給另一個節點執行。


引用從The Scala Actors API

爲了獲得遠程引用機器 MYMACHINE運行,在端口8000 遠程演員,與名稱 「anActor,在以下 方式使用選擇:

val myRemoteActor = 
select(Node("myMachine", 8000),'anActor) 

從select返回的演員有 type A bstractActor提供 基本相同接口作爲 普通的演員,從而支持 平常郵件發送操作

+0

我感到有點糊塗了,「遺憾的是可能的」,然後「不可能」的阿卡? – 2010-12-11 16:58:20

+0

我是否錯過了Akka中ActorRefs的觀點?我想,其目的是防止調用者直接訪問演員方法。 – 2010-12-11 21:15:29

+0

所以,如果我正確理解你,遠程Actor代碼的正確位置是響應方,Actor將實際工作,但不是請求方,對嗎? – 2010-12-11 23:20:57

相關問題