Winapi 理解邮箱的困惑

Winapi 理解邮箱的困惑,winapi,visual-c++,inter-process-communicat,mailslot,Winapi,Visual C++,Inter Process Communicat,Mailslot,此快照来自 我对邮箱没有什么疑问 为什么邮箱被称为单向的?虽然可以有多个客户端/服务器 为什么邮件槽的编写器称为客户机,而读卡器称为服务器 如果没有读卡器,为什么open会失败?难道我不可能写,没有服务器会读,或者在一段时间后它可能会读吗 我努力在谷歌上搜索,但没有得到确切的答案 1.为什么邮箱被称为单向?虽然可以有多个客户端/服务器 这确实是单向的。创建邮件槽的进程只能读取邮件槽,不能写入邮件槽。打开邮箱的进程只能对其进行写入,不能从中读取。邮件槽与命名管道或套接字不同,数据可以在单个连接上

此快照来自

我对邮箱没有什么疑问

  • 为什么邮箱被称为单向的?虽然可以有多个客户端/服务器
  • 为什么邮件槽的编写器称为客户机,而读卡器称为服务器
  • 如果没有读卡器,为什么open会失败?难道我不可能写,没有服务器会读,或者在一段时间后它可能会读吗
  • 我努力在谷歌上搜索,但没有得到确切的答案

    1.为什么邮箱被称为单向?虽然可以有多个客户端/服务器

    这确实是单向的。创建邮件槽的进程只能读取邮件槽,不能写入邮件槽。打开邮箱的进程只能对其进行写入,不能从中读取。邮件槽与命名管道或套接字不同,数据可以在单个连接上双向流动。如果创建邮箱的进程想要发送回复,它必须写入不同的邮箱或其他IPC机制

    2.为什么邮件槽的编写器称为客户机,而读卡器称为服务器

    大多数IPC机制都有客户机/服务器模型。“服务器”创建“客户端”然后访问的资源。邮件槽符合这种描述,因为读者必须先创建邮件槽,然后作者才能对其进行写入

    3.如果没有读卡器,为什么open会失败?难道我不可能写,没有服务器会读,或者在一段时间后它可能会读吗

    如果没有读卡器,则邮箱不存在。读卡器必须先创建邮箱,然后写卡器才能对其进行写操作。当所有读卡器都已关闭其邮件槽句柄(或以其他方式终止)时,邮件槽将不再存在且无法再写入

    1.为什么邮箱被称为单向?虽然可以有多个客户端/服务器

    这确实是单向的。创建邮件槽的进程只能读取邮件槽,不能写入邮件槽。打开邮箱的进程只能对其进行写入,不能从中读取。邮件槽与命名管道或套接字不同,数据可以在单个连接上双向流动。如果创建邮箱的进程想要发送回复,它必须写入不同的邮箱或其他IPC机制

    2.为什么邮件槽的编写器称为客户机,而读卡器称为服务器

    大多数IPC机制都有客户机/服务器模型。“服务器”创建“客户端”然后访问的资源。邮件槽符合这种描述,因为读者必须先创建邮件槽,然后作者才能对其进行写入

    3.如果没有读卡器,为什么open会失败?难道我不可能写,没有服务器会读,或者在一段时间后它可能会读吗

    如果没有读卡器,则邮箱不存在。读卡器必须先创建邮箱,然后写卡器才能对其进行写操作。当所有读卡器都已关闭其邮件槽句柄(或以其他方式终止)时,邮件槽将不再存在且无法再写入