gpt4 book ai didi

sockets - Akka IO.TCP 与 Json

转载 作者:可可西里 更新时间:2023-11-01 02:31:21 26 4
gpt4 key购买 nike

我已经使用 akka.io.tcp 编写了客户端和服务器,但在读取客户端发送的消息时遇到了问题。我使用 json 发送消息。在客户端,我这样写消息:

connection ! Write(ByteString(msgString))

在服务器端我有以下内容:

override def receive: Receive = {
case Received(data) => listener ! Json.parse(data.utf8String)
case PeerClosed => {
context stop self
}
}

问题是 akka 一次读取多个消息,所以我得到一个无效的 Json。有没有办法让 akka 一次只读一条消息?

最佳答案

Akka 的 TCP 模块(并且被设计为)非常“低级”,因此我们不提供任何类型的帧定界符。您应该将它更像是一个 TCP 级别的构建 block ,然后您必须在其上构建您的东西。

在您的示例中,Actor 必须聚合传入的数据 block ,并检测 json 文档何时“完成”,然后触发解码。

为此提供开箱即用的东西的想法非常引人注目......我会问大家我们计划支持这些类型的用例。

不过,我希望这对您有所帮助!

关于sockets - Akka IO.TCP 与 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22914710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com