是否可以通过TCP/IP向AKKA actor发送消息?
例如,编写一个客户端:
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)
}
})
}
然后在另一个终端中启动telnet localhost 1234
,开始输入,您将看到每行显示一个演员日志消息。
是的,也不完全是。您需要使用Akka IO模块或Akka Camel模块(使用netty或mina组件):