是否可以通过TCP / IP向AKKA演员发送消息?
例如,写一个客户端,如:
mySocket = new Socket("theactor", 75);
os = new DataOutputStream(smtpSocket.getOutputStream());
os.writeBytes("HELLO");
那可以向AKKA演员发送消息吗?
由于
答案 0 :(得分:4)
详细阐述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)
}
})
}
然后在另一个shell中启动telnet localhost 1234
并开始输入,你会在每行看到一个actor日志消息。
答案 1 :(得分:1)
是的,不。您必须使用Akka IO模块或Akka Camel模块(使用netty或mina组件):
答案 2 :(得分:0)
如果您尝试使用IP在远程actor上发送消息,为什么不尝试使用Akka Remote Actor系统? "Read it here"