【问题标题】:Does platforms like Solaris, HP-UX, IBM-AIX etc support Unix Domain Socket without need for socket file, like Linux?Solaris、HP-UX、IBM-AIX 等平台是否支持 Unix 域套接字而无需套接字文件,如 Linux?
【发布时间】:2017-02-26 02:24:26
【问题描述】:

我正在开发一个在不同平台上运行的项目,包括 Linux、Solaris、HP-UX 和 IBM-AIX。

当我们使用 socket() 创建一个新的套接字时,系统会创建路径名套接字,并在某个临时目录中创建一个文件。我正在尝试设置一个不会创建此文件的环境。

我找到了适用于 Linux 的解决方案。在 Linux 中,有“抽象套接字”的概念。抽象套接字地址(与路径名套接字)的区别在于 sun_path[0] 是一个空字节('\0')。有关更多信息,请参阅手册页 - http://man7.org/linux/man-pages/man7/unix.7.html

我正在尝试为其他平台(即 Solaris、HP-UX 和 IBM-AIX)找出类似的解决方案,即“不应为套接字创建文件”。

【问题讨论】:

    标签: linux sockets unix aix hp-ux


    【解决方案1】:

    对于 AIX,我很确定没有抽象套接字的等价物。有共享内存和其他进程间通信设施。

    对于 unix 域套接字,如果需要的话,我相信是文件系统提供了安全/保护。例如您可以将路径限制为特定组,然后文件系统将确保只有在该组中使用的人(如 /etc/group)才能访问该路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-26
      • 2013-12-25
      • 2010-12-01
      • 2010-11-25
      • 1970-01-01
      • 2017-12-03
      相关资源
      最近更新 更多