查看Unix命名套接字后,我认为它们是命名管道。我查看了名称管道,并没有发现太大的差异。我看到它们的初始化方式不同,但这是我注意到的唯一一件事。两者都使用 C 写/读函数并且工作方式相似。
vector
deque
list
UNIX 域套接字通常比命名管道更灵活。 他们的一些优点是:
要使用其中许多功能,您需要使用
send()
recv()
write()
read()
一个区别是命名管道是单向的,因此您需要使用其中两个管道才能进行双向通信。套接字当然有两种方式。使用两个变量而不是一个变量(即两个管道而不是一个套接字)似乎稍微复杂一些。
此外,维基百科文章对以下几点非常清楚:“Unix 域套接字可以创建为字节流或数据报序列,而管道只是字节流。”
。这意味着通信可以从 A 端到 B 端,或者从 B 端到 A,但绝不能同时进行。