我的应用程序通过套接字小消息通过电线发送。每个消息约为200个字节的数据。我想查看以2帧而不是1帧发送的数据。我的问题是

  • 该怎么做,即有没有一种方法可以使TCP自动将缓冲区分成2帧?
  • 如果我在2次单独的写入中发送缓冲区,是否会得到相同的结果?

  • 我正在使用Linux和C。

    最佳答案



    TCP是一种流通信协议(protocol),所有数据都是连续的。您应该用定界符分割数据。

    例如,在HTTP协议(protocol)中,每个单独的请求都被两个\n分割。



    不,您将作为一个连续的数据流接收它们。框架是没有意义的。

    注意:在您的应用程序中接收任何数据TCP之前,数据包是分开的,但是OS会收集并重新组装它们。此过程对您的应用程序是透明的。

    07-25 20:14
    查看更多