在查看了一个名为 socket 的 unix 之后,我认为它们是命名管道。我查看了名称管道,并没有看到太大的区别。我看到它们的初始化方式不同,但这是我唯一注意到的。两者都使用 C 写/读功能,工作方式与 AFAIK 相似。
unix 域套接字和命名管道有什么区别?我什么时候会选择一个而不是另一个?我应该默认使用哪个(比如我在 C++ 中默认使用 vector 而不是使用双端队列、列表或其他任何我需要的东西)?
最佳答案
UNIX 域套接字通常比命名管道更灵活。它们的一些优点是:
要使用其中许多功能,您需要使用 send()
/recv()
系列系统调用,而不是 write()
/read()
.
https://stackoverflow.com/questions/9475442/