Akka IO TCP接收数据

时间:2017-03-21 19:51:50

标签: tcp io akka

我正在阅读有关Using TCP的文档,并试图理解TCP从服务器接收数据的简单程度。让服务器向每个连接的客户端发送数据流。

    case Received(data) => // do some with data, where data: ByteString

那么data是什么。字节数据的大小是多少?我的意思是客户不断收到一些数据。每个data包含多少个字节?在哪里配置?

1 个答案:

答案 0 :(得分:2)

它是随意的,没有在任何地方配置。你得到的任何你已经得到的东西,当它决定给你一些数据的时候,你已经得到了实施。

处理此类通知的典型方法如下:

  1. 如果我们从上次通知中获得了任何已保存的数据,请将新数据附加到已保存数据的末尾。

  2. 如果我们根据我们正在实施的协议没有完整的消息,请保存下一个通知的剩余数据,重新启动通知并停止。

  3. 处理消息。

  4. 如果我们没有剩余的数据(也就是说,我们只有一个应用程序消息而不是更多的字节),请注意缓冲区为空,重新启动通知并停止。

  5. 使用剩余数据转到第2步。