使用c ++套接字编程的最大TCP数据包大小

san*_*ana 2 c++ sockets

我正在编写c ++套接字代码,我需要一些帮助!在我的程序中,我不知道消息的大小是多少,它可能会发送文件的一部分或者它自己的文件,文件可能是一个巨大的文件,所以我应该指定数据包的最大大小,如果超过最大值,我将它除以一个以上?

cni*_*tar 9

使用时考虑"数据包"和"消息"从来没有建设性,TCP因为:

  • 网络引擎有自己的方法来决定最佳的段大小
  • 段大小对应用程序代码没有影响:接收TPC在将数据传递给接收进程之前可以自由地合并段

您应该按照设计的方式查看TCP:可靠的顺序字节流服务.因此,只需编写足够大的块,引擎及其无数的规则将会处理它.