首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将Akka ByteString转换为字符串?

如何将Akka ByteString转换为字符串?
EN

Stack Overflow用户
提问于 2016-03-31 01:24:40
回答 2查看 25.4K关注 0票数 39

如果这是一个愚蠢的问题,我很抱歉,但老实说,如果我自己不设置某种ASCII码->字符映射器,我就不能解决这个问题,我认为这不是正确的方法。

因此,目前我正在使用Scala和Akka制作一个“聊天应用程序”,其中我使用单独的客户端和服务器实体。客户端连接到服务器,发送一条消息,服务器用它做一些事情。

我让发送消息工作了,但现在我被困在服务器端阅读消息。每当我收到一条消息时,我就会得到一个包含消息中字符的ASCII值的ByteString。如何将此ByteString转换为实际的字符串?

相关代码(服务端):

package chatapp.server

import java.net.InetSocketAddress

import akka.actor.{Actor, ActorSystem}
import akka.io.Tcp._
import akka.io.{IO, Tcp}

/**
  * Created by Niels Bokmans on 30-3-2016.
  */
class ServerActor(actorSystem: ActorSystem) extends Actor {
  val Port = 18573
  val Server = "localhost"

  IO(Tcp)(actorSystem) ! Bind(self, new InetSocketAddress("localhost", Port))

  def receive: Receive = {

    case CommandFailed(_: Bind) =>
      println("Failed to start listening on " + Server + ":" + Port)
      context stop self
      actorSystem.terminate()

    case Bound(localAddress: InetSocketAddress) =>
      println("Started listening on " + localAddress)

    case Connected(remote, local) =>
      println("New connection!")
      sender ! Register(self)
    case Received(data) =>
      println(data)
  }
}

服务器的图片(如您所见,它接受连接->接收新连接->接收来自该连接的消息):

客户端图片(连接到服务器,然后发送消息testmessage)

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

https://stackoverflow.com/questions/36315667

复制
相关文章

相似问题

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