scala – Akka TCP客户端:如何使用akka actor通过TCP发送消息
我想通过TCP发送文本消息.满容易.我想用akka这样做.我读了这篇关于akka IO的文章:
http://doc.akka.io/docs/akka/snapshot/scala/io-tcp.html 本文介绍了TCP客户端的简单实现,但我不清楚如何使用此客户端. >构造函数采用InetSocketAddress和ActorRef. InetSocketAddress是有道理的(我假设这是目的地),但是ActorRef是什么?这是我第一次使用akka,但据我所知,ActorRef是另一个actor的引用.由于我的TCP客户端是一个actor,我希望这个TCP actor与TCP服务器通信,而不是与另一个actor通信,为什么我会给它一个actor ref? 4. case Received(data) => listener ! data 和 case data: ByteString => connection ! Write(data) 解决方法
回答你的问题:
>构造函数类Client(remote:InetSocketAddress,listener:ActorRef)extends Actor采用一个侦听器,该侦听器是对使用此Client与远程服务器通信的actor的引用.监听器将通过此客户端发送和接收消息.由于客户是演员,您将仅通过发送消息与其进行通信.客户端在与连接/远程通信时也是如此 – 它将代表您发送和接收消息并将其转发给您提供的监听器. 这里总结一下双向通信的样子. 将ByteString发送到远程: MyActor – > ByteString – >客户 – >写(ByteString) – >连接/远程 从远程接收ByteString(服务器与客户端对话): 连接/远程 – >收到(ByteString) – >客户 – > ByteString – > MyActor ‘ – >’是一个消息发送. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |