是否可以通过 TCP / IP 向 AKKA 演员发送消息?
例如,编写如下客户端:
mySocket = new Socket("theactor", 75);
os = new DataOutputStream(smtpSocket.getOutputStream());
os.writeBytes("HELLO");
那可以向 AKKA 演员发送消息吗?
谢谢
详细说明维克多的回应,最小的例子是
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
并开始输入,您将看到每行一个参与者日志消息。
是的,没有。您必须使用 Akka IO 模块或 Akka Camel 模块(带有 netty 或 mina 组件):
如果您尝试使用 IP 通过远程 Actor 发送消息,为什么不尝试 Akka Remote Actor 系统?“在这里阅读”