此快照来自Windows System Programming (4th Edition)。
我对邮件的问题很少,
我努力在Google上搜索,但没有得到确切的答案。
答案 0 :(得分:4)
1.为什么邮件被称为一个方向?虽然可以有多个客户端/服务器
它确实是单向的。创建邮件槽的过程只能从中读取,而不能写入它。打开邮件槽的过程只能写入它,而不能从中读取。邮件槽不像命名管道或套接字,数据可以通过单个连接在两个方向上流动。如果创建邮件槽的进程想要发送回复,则必须写入不同的邮件槽或其他IPC机制。
2.为什么mailslot的作者被称为客户端而读者是服务器
大多数IPC机制都有客户端/服务器模型。 “服务器”创建“客户端”随后访问的资源。邮件符合该描述,因为读者必须在编写者可以写入之前创建邮件槽。
3.如果没有读者,为什么开放会失败?是不是我可以写,没有服务器会读取或者可能在一段时间后读取?
如果没有读者,则邮件不存在。读者必须先创建邮件槽,然后编写者才能写入邮件槽。当所有读者都关闭了邮件槽的句柄(或以其他方式终止)时,邮件槽不再存在,不能再写入。