Scala remote actors赢得';我不能交流,为什么?

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

我正在尝试连接本地主机上的两个远程参与者(防火墙已禁用),但没有消息通过。我创建了一些简单的代码来表达我的问题:

参与者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
  }

}

我做错了什么?提前感谢您的帮助。

试试Akka演员。Scala演员已被弃用。谢谢;)我肯定会尝试Akka,但上面的代码有时有效,有时无效,我想知道为什么;)无论如何,谢谢:)