我正在阅读有关 Using TCP 的文档并尝试理解 TCP 从服务器接收数据是多么简单。让服务器向每个连接的客户端发送数据流。
case Received(data) => // do some with data, where data: ByteString
那么什么是数据
。以字节为单位的数据大小是多少?我的意思是客户不断收到一些数据。每个这样的 data
包含多少字节?在哪里配置?
最佳答案
它是任意的,没有在任何地方配置。你得到了你还没有得到的任何东西,当它决定给你一些数据时,实现恰好必须给你。
处理此类通知的典型方式如下:
如果我们从上次通知中保存了任何数据,请将新数据附加到已保存数据的末尾。
如果根据我们正在实现的协议(protocol),我们没有完整的消息,请保存所有剩余数据以用于下一个通知、重新准备通知并停止。
处理消息。
如果我们没有剩余数据(也就是说,我们只有一个应用程序消息,一个字节也没有),请注意缓冲区为空,重新准备通知,然后停止。
<使用剩余数据转到第 2 步。
关于tcp - Akka IO TCP 接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42936905/