4

是否可以通过 TCP / IP 向 AKKA 演员发送消息?

例如,编写如下客户端:

mySocket = new Socket("theactor", 75);
os = new DataOutputStream(smtpSocket.getOutputStream());
os.writeBytes("HELLO");    

那可以向 AKKA 演员发送消息吗?

谢谢

4

3 回答 3

4

详细说明维克多的回应,最小的例子是

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)
    }
  })
}

然后在不同的 shell 中启动telnet localhost 1234并开始输入,您将看到每行一个参与者日志消息。

于 2012-10-19T07:51:50.477 回答
1

是的,没有。您必须使用 Akka IO 模块或 Akka Camel 模块(带有 netty 或 mina 组件):

http://doc.akka.io/docs/akka/snapshot/scala/io.html

http://doc.akka.io/docs/akka/snapshot/java/camel.html

于 2012-10-18T17:19:25.723 回答
0

如果您尝试使用 IP 通过远程 Actor 发送消息,为什么不尝试 Akka Remote Actor 系统?“在这里阅读”

于 2012-11-03T09:51:47.740 回答