关于邮槽

【勇芳软件工作室】汉化HomePreviousNext

邮票是伪造的;它驻留在内存中,标准的Windows文件功能写入它。但与磁盘文件不同,邮槽是暂时的。当邮箱的每个句柄关闭时,邮箱及其包含的所有数据都将被删除。邮件槽消息中的数据可以是任何形式。

A 【邮槽服务器】是一个创建和拥有邮槽的进程。当服务器创建一个邮槽时,它会收到邮槽。当进程从邮槽中读取消息时,必须使用该句柄。只有创建邮槽(或已经通过某种其他机制获取句柄,如继承)的过程可以从邮箱中读取。邮箱存在,直到其所有服务器处理已关闭或所有服务器进程已退出。所有的邮槽都是创建它们的过程的本地化的;进程无法创建远程邮槽。

A 【邮槽客户端】是一个将消息写入邮槽的过程。任何具有邮箱空间名称的进程都可以在那里发送消息。新消息遵循邮箱中的预先存在的消息。

邮槽可以在域内广播邮件。如果域中的多个进程都使用相同的名称创建邮槽,那么寻址到邮槽并发送到域的每个消息都将被参与进程接收。因为一个进程可以控制服务器邮件槽句柄和在邮件槽打开写入操作时检索的客户端句柄,所以应用程序可以轻松地在域内实现一个简单的消息传递工具。

一些开发人员选择使用命名管道而不是邮槽进行进程间通信。命名管道是两个进程交换消息的简单方法。另一方面,邮件槽是一种简单的方法,可以让流程向许多其他进程广播消息。有关命名管道的更多信息,请参阅管道.

邮槽和命名管道之间的另一个问题是邮槽使用数据报,而命名管道不使用。数据报是网络沿着线路发送的一小部分信息。像广播或电视广播一样,数据报不提供收据确认;没有办法保证已收到数据报。正如山脉,大型建筑物或干扰信号可能导致无线电或电视信号丢失,发送方不知道可以防止数据报到达特定目的地的事情。命名管道更像是简单的一对一电话:您只能与一方进行通话,但您知道对话正在发生。因此,如果应用程序需要保证接收,则应使用命名管道;但命名管道不能广播。邮槽不保证接收,但可以广播。