网络编程.确定消息的结束

Man*_*d3r 0 c c++ sockets network-programming cross-platform

Linux缓冲在套接字上收到的所有收到的消息.但在收到之前,这些消息有一个开始和结束.Linux在缓冲区中按顺序写入此消息,从而丢失了消息结束的信息.

我知道在Linux中我可以使用cmsg_header.But Windows不提供send-/recvmsg()程序.如何确定缓冲区平台上的消息结束?

Bas*_*tch 5

我不确定TCP/IP连接是否正在交换分隔良好的消息.路由器可以分组数据包.(所以cmsg_header可能不可靠).

我所知道的所有基于TCP/IP的协议(HTTP,SMTP,X11,RPCXDR)都在应用程序级别处理消息组织.您的应用程序库需要以某种方式了解"消息"何时何地开始或结束.