C++ 在windows中是否有易于实现的或现有的协议来传递带有管道/套接字的对象?

C++ 在windows中是否有易于实现的或现有的协议来传递带有管道/套接字的对象?,c++,windows,sockets,protocols,pipe,C++,Windows,Sockets,Protocols,Pipe,对象本质上是动态长度的字节s 实现发送/接收机制最简单的方法是什么 我得到了如下提示,但我自己不知道如何使用此协议: 只要记住管道,就像 插座,但不能保证 你放在管子里的每一样东西都会 以同样的方式从另一端出来 写入时的读取次数。 当你从管道或插座中读取数据时 你得到的是目前的情况 在缓冲区中可用,但可能不可用 然而,这一切都是这样写的 你必须一直读下去,直到你读到为止 预期的数据量 这一定有多脏 最简单的情况: 将字节计数前置到发送的数据 继续读取,直到达到字节计数 这一定有多脏 最简单的情

对象本质上是动态长度的
字节
s

实现发送/接收机制最简单的方法是什么

我得到了如下提示,但我自己不知道如何使用此协议:

只要记住管道,就像 插座,但不能保证 你放在管子里的每一样东西都会 以同样的方式从另一端出来 写入时的读取次数。 当你从管道或插座中读取数据时 你得到的是目前的情况 在缓冲区中可用,但可能不可用 然而,这一切都是这样写的 你必须一直读下去,直到你读到为止 预期的数据量


这一定有多脏

最简单的情况:

  • 将字节计数前置到发送的数据
  • 继续读取,直到达到字节计数

这一定有多脏

最简单的情况:

  • 将字节计数前置到发送的数据
  • 继续读取,直到达到字节计数

如何在接收端区分字节计数和实际字节数据

有两种方法

第一个是位置的:如果第一个字节是长度“n”,接下来的n个字节是数据,那么后面的字节是下一个数据包的开始,因此是下一个数据包的初始长度字节

第二种方法是使用一些标记来标记每条消息的开始或结束


如何在接收端区分字节计数和实际字节数据

有两种方法

第一个是位置的:如果第一个字节是长度“n”,接下来的n个字节是数据,那么后面的字节是下一个数据包的开始,因此是下一个数据包的初始长度字节


第二种方法是使用一些来标记每条消息的开始或结束。

如何区分字节计数和接收端的实际字节数据?假设前4个字节是作为32位无符号整数的字节计数。指定endianess,使用净字节排序(或其他名称)的额外点数如何区分接收端的字节计数和实际字节数据?假设前4个字节是作为32位无符号整数的字节计数。指定endianess,使用净字节排序(或其他名称)的额外点数。。。实现
char
int
long
等字符串的主要合理方式有哪些。管道只是一种以顺序方式(即字符串!)传递数据的机制。。。。实现
char
int
long
等字符串的主要合理方式有哪些。管道只是一种以顺序方式(即字符串!)传递数据的机制。