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

Maximum size of characters that can be sent through TCP socket

本文关键字:字符 TCP 套接字 可以通过      更新时间:2023-10-16

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

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

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

谁能告诉我这是不是应该走的路?

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

您需要将字符串的大小作为int类型发送,然后发送数据。当服务器接收到所有数据时,它将知道字符串已被正确接收。

是的,但我建议您在获取数据时发送数据,而不是增加延迟并浪费空间将其全部缓冲起来。TCP会处理的