unix域套接字VS命名管道?

前端之家收集整理的这篇文章主要介绍了unix域套接字VS命名管道?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
看了一个unix命名的套接字,我认为他们是命名管道。我看着名字管道,没有看到很多的区别。我看到他们被初始化不同,但这是我注意到的唯一的事情。两者都使用C写/读功能和工作相似的AFAIK。

unix域套接字和命名管道之间的区别是什么?什么时候我会选择一个在另一个?我应该使用默认情况下(像我如何使用使用矢量默认在C比使用deque,列表或其他如果我有需要)?

UNIX域套接字通常比命名管道更灵活。它们的一些优点是:

>您可以将它们用于两个以上的进程通信(例如,服务器进程与潜在的多个客户端进程连接);
>它们是双向的;
>他们支持在进程之间传递内核验证的UID / GID凭据;
>它们支持在进程之间传递文件描述符;
>它们支持包和排序包模式。

要使用许多这些功能,您需要使用send()/ recv()系列调用系列,而不是write()/ read()。

猜你在找的Bash相关文章