ローカルホスト (ファイアウォールが無効) で 2 つのリモート アクターを接続しようとしていますが、メッセージが届きません。問題を伝える簡単なコードをいくつか作成しました。
アクター 1:
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
}
}
私は何を間違っていますか?事前にご協力いただきありがとうございます。