gpt4 book ai didi

c - Unix Domain Socket 两端并发读/写

转载 作者:行者123 更新时间:2023-12-01 08:59:03 25 4
gpt4 key购买 nike

出于多种原因,我想在两个进程之间使用 unix 域套接字进行 IPC。

每个进程通过写入套接字并将此事件传递给第二个进程来对来自外部世界的某种特定类型的异步事件使用react,同时 - 每个进程还需要读取来自另一个套接字的数据以做一些事情。实际上,在该模型中,每个进程将有一个套接字和两个线程:一个用于可能阻塞读取,一个用于写入。

我想知道是否可以使用 unix 域套接字独立地同时读取和写入每个进程,而不使用任何显式锁定,因为这种套接字隐含地保证了安全性。如果是的话,我也想知道这个保证是在哪里正式声明的。

最佳答案

AF_LOCAL 套接字和 AF_INET 套接字之间唯一相关的区别是 AF_LOCAL 套接字本地到当前的计算机。创建一个 AF_LOCAL 套接字并绑定(bind)它与创建一个 AF_INET 套接字并将其绑定(bind)到 localhost 没有区别。

用于绑定(bind)AF_LOCAL套接字的路径只用于连接到套接字,没有别的。

因此,如果您创建面向连接的 AF_LOCAL 套接字(使用 SOCK_STREAMSOCK_SEQPACKET),那么每个连接都是唯一的,您可以有多个通过相同的监听(被动)AF_LOCAL 套接字连接的进程。

关于c - Unix Domain Socket 两端并发读/写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36998701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com