TCP/IP 経由で AKKA アクターにメッセージを送信することは可能ですか?
たとえば、クライアントを次のように記述します。
mySocket = new Socket("theactor", 75);
os = new DataOutputStream(smtpSocket.getOutputStream());
os.writeBytes("HELLO");
それはAKKA俳優にメッセージを送ることができますか?
ありがとう
Viktor の応答についてもう少し詳しく説明すると、最小限の例は次のようになります。
import akka.actor._
import ActorDSL._
import java.net.InetSocketAddress
object Server extends App {
implicit val sys = ActorSystem("telnet")
actor(new Act with ActorLogging {
IOManager(context.system) listen new InetSocketAddress(1234)
become {
case IO.NewClient(server) ⇒
server.accept()
case IO.Read(handle, bytes) ⇒
log.info("got {} from {}", bytes.decodeString("utf-8"), handle)
}
})
}
次に、別のシェルtelnet localhost 1234
で入力を開始すると、1 行に 1 つのアクター ログ メッセージが表示されます。
はいといいえ。Akka IO モジュールまたは Akka Camel モジュール (netty または mina コンポーネントを使用) を使用する必要があります。
IP を使用してリモート アクターにメッセージを送信しようとしている場合は、Akka Remote Actor システムを試してみませんか? 「ここ読んで」