令我困惑的是,鉴于套接字是双向的,为什么我不能用 socket()
打开 1 个套接字?在客户端和服务器上的一个,让他们通过这个单一的套接字进行通信?
我需要一对套接字的常见用例是什么?
最佳答案
So what is the common use case that I would need a pair of sockets?
通常,您希望在父进程和子进程之间(或有时在同一进程中的线程之间)进行双向通信。
这就像
pipe
的双向等价物,并避免暴露 AF_UNIX
路径或任何其他公开可见的地址,用于程序内部的内容。有一个有效的例子 here .
关于c - 当我有 AF_UNIX 的 socket() 时,为什么我需要 socketpair()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64214231/