java - 可以通过 TCP 套接字发送的最大字符大小

标签 java c++ string max-size

我有一个 C++ 客户端,它在特定时间间隔后向 Java 服务器应用程序发送一个大字符串(最小大小为 10 KB)。在那段时间里,c++ 应用程序积累了大量的数据并将其完整地发送到服务器。服务器也一次性接收到它。

我想始终保持字符串变量的大小小于 string::max_size。一旦字符串的大小接近限制,我就会将该字符串发送到服务器并清除该字符串,然后才继续收集剩余数据。

如果字符串可以保存完整的数据,整个数据是否会从客户端传输到服务器而不会失败。(假设没有连接重置或任何其他此类问题出现。)

有人可以告诉我这是否是继续进行的方式?

最佳答案

客户端不知道字符串有多大,也不知道何时停止监听并开始处理接收到的字符串。

您需要将字符串的大小作为 int 发送,然后将数据发送过来。 当服务器接收到所有的数据后,就知道字符串接收正确了。

关于java - 可以通过 TCP 套接字发送的最大字符大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31987919/

相关文章:

java - 在 JSONArray 中的给定位置添加值

c++ - glCreateShader 导致 EXC_BAD_ACCESS

c++ - linux C++,Qt中system()的参数

java - 如何拆分像 {200,200} 这样的字符串

string - 如何将空字符串插入 Microsoft Power Automate 中流程操作的字段中

Java 使用关联比较器对列表进行排序

java - Spring加载Tomcat资源

java - 将数据类型从 C++ 传递到 Java/Java 到 C++

c++ - '非静态引用成员,不能使用默认赋值运算符'

c++ - 为什么 RegSetValueEx 即使在我违反有关计算长度中 NUL 终止的规则时仍然有效?