c++ - 您能否更详细地解释一下 PIPE_READMODE_MESSAGE/PIPE_READMODE_BYTE 之间的区别?

标签 c++ named-pipes

尽管我已经阅读了文档 here ,它对我来说仍然没有意义:

Data is read from the pipe as a stream of messages. This mode can be only used if PIPE_TYPE_MESSAGE is also specified.

最佳答案

在 BYTE 模式下,您需要弄清楚数据的分隔,以便在接收端对其进行解码。在 MESSAGE 模式下,API 会为您做这件事。当您在另一端阅读消息时,您将拥有整个数据 block (消息)。

在这两种情况下,如果您混合通过管道发送的数据类型,您仍然需要一些 header 数据来包装您的消息/数据以了解它是什么。

编辑:文档指向一个非常清晰的客户端/服务器示例,该示例使用此 API 以及两者之间的 MESSAGE 模式。

http://msdn.microsoft.com/en-us/library/aa365592%28v=VS.85%29.aspx

http://msdn.microsoft.com/en-us/library/aa365588%28v=VS.85%29.aspx

关于c++ - 您能否更详细地解释一下 PIPE_READMODE_MESSAGE/PIPE_READMODE_BYTE 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3539914/

相关文章:

c++ - 使用堆栈查找每个元素的下一个更大的

c++ - PJSUA2 - 将通话音频录制到 wav 文件

php - 网络图库

ipc - 数据包通过命名管道传输?单字节缓冲区还是预先确定大小?

c++ - 尝试创建命名管道失败并显示 ERROR_IS_SUBSTED

c++ - 如何在 Windows 上清理命名管道?

c++ - 多重继承和指针实现

bash - 模拟 'named' 进程替换

c - 准备好后不会读取命名管道。 (它确实在gdb内部工作)

c++ - C 和 C++ 注释风格的差异