微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

unix域套接字VS命名管道?

看了一个unix命名的套接字,我认为他们是命名管道。我看着名字管道,没有看到很多的区别。我看到他们被初始化不同,但这是我注意到的唯一的事情。两者都使用C写/读功能和工作相似的AFAIK。

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

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

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

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

原文地址:https://www.jb51.cc/bash/392239.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐