我能够创建actor并在本地运行它们。但现在我希望演员在网络上连接的计算机上运行代码。假设我想创建演员来查找数字的阶乘。
object FactorialAll extends Actor{
def receive = {
case (n:Int)=>
for(i<-1 to n){
var factorActor = context.actorOf(Prop[FactorActor],"factorActor")
factorActor ! Factorial(i)
}
case Result(n:Int,fact:BigInt)=>
println("factorial of " + n + " is "+fact)
}
}
我们向这个Actor发送一些int。
如何创建和运行FactorActor实例以在网络上运行。
答案 0 :(得分:2)
要向远程演员发送消息,您需要Akka Remoting:http://doc.akka.io/docs/akka/current/scala/remoting.html
然后,你可以获得远程演员并发送消息,如:
val selection =
context.actorSelection("akka.tcp://actorSystemName@host:1234/user/actorName")
selection ! "fooBar"