Scala remote actors赢得';我不能交流,为什么?
我正在尝试连接本地主机上的两个远程参与者(防火墙已禁用),但没有消息通过。我创建了一些简单的代码来表达我的问题: 参与者1:Scala remote actors赢得';我不能交流,为什么?,scala,actor,Scala,Actor,我正在尝试连接本地主机上的两个远程参与者(防火墙已禁用),但没有消息通过。我创建了一些简单的代码来表达我的问题: 参与者1: package test import scala.actors._ import scala.actors.Actor._ import scala.actors.remote._ import scala.actors.remote.RemoteActor._ object Actor1 { RemoteActor.classLoader = getClass
package test
import scala.actors._
import scala.actors.Actor._
import scala.actors.remote._
import scala.actors.remote.RemoteActor._
object Actor1 {
RemoteActor.classLoader = getClass().getClassLoader()
}
class Actor1 extends Actor {
def act {
alive(9000)
register('actor1, self)
println("Actor1 running")
while (true) {
react {
case s: String => {
println("received1: " + s)
sender ! "Server reply"
}
case _ => println("Received wierdness;)")
}
}
}
}
参与者2:
package test
import scala.actors._
import scala.actors.Actor._
import scala.actors.remote._
import scala.actors.remote.RemoteActor._
object Actor2 {
RemoteActor.classLoader = getClass().getClassLoader()
}
class Actor2 extends Actor {
val actor1 = select(Node("127.0.0.1", 9000), 'actor1)
def act {
println("Sending message to actor1(" + actor1 + ")")
actor1 ! "Message to server"
println("Actor2 running")
while (true) {
react {
case s: String => println("received2: " + s)
case _ => println("Received wierdness;)")
}
}
}
}
主要课程包括:
包装试验
object Test {
def main(args: Array[String]): Unit = {
val a1 = new Actor1()
val a2 = new Actor2()
println("Starting actors")
a1.start
a2.start
}
}
我做错了什么?提前感谢您的帮助。试试Akka演员。Scala演员已被弃用。谢谢;)我肯定会尝试Akka,但上面的代码有时有效,有时无效,我想知道为什么;)无论如何,谢谢:)