首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Akka TcpPipeLine:如何在不首先接收init.Event的情况下向客户机/服务器发送消息?

Akka TcpPipeLine:如何在不首先接收init.Event的情况下向客户机/服务器发送消息?
EN

Stack Overflow用户
提问于 2014-01-15 18:29:17
回答 1查看 416关注 0票数 1

伙计们!我正在使用akka 2.2.3并开发简单的tcp服务器应用程序。

工作流程是: 1.客户端连接到服务器2.服务器接受连接,3.服务器发送给客户端消息"Hello!“

在页面http://doc.akka.io/docs/akka/2.2.3/scala/io-tcp.html上,我可以看到如何向请求发送响应消息。但是,在收到一些数据之前,我如何发送消息呢?

如何在不首先接收init.Event的情况下向客户端发送消息?

文档页中的代码:

代码语言:javascript
复制
class AkkaSslHandler(init: Init[WithinActorContext, String, String])
    extends Actor with ActorLogging {

    def receive = {
        case init.Event(data) ⇒
            val input = data.dropRight(1)
            log.debug("akka-io Server received {} from {}", input, sender)
            val response = serverResponse(input)
            sender ! init.Command(response)
            log.debug("akka-io Server sent: {}", response.dropRight(1))
        case _: Tcp.ConnectionClosed ⇒ context.stop(self)
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-16 07:22:51

您也可以使用init来创建TcpPipelineHandler,当然,您可以始终向该参与者发送命令。为此,除了Init之外,您还需要将其ActorRef传递给处理程序参与者。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21145459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档