Solaris、HP-UX、IBM-AIX 等平台是不是支持 Unix 域套接字而无需套接字文件,如 Linux?

Posted

技术标签:

【中文标题】Solaris、HP-UX、IBM-AIX 等平台是不是支持 Unix 域套接字而无需套接字文件,如 Linux?【英文标题】: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)找出类似的解决方案,即“不应为套接字创建文件”。

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于Solaris、HP-UX、IBM-AIX 等平台是不是支持 Unix 域套接字而无需套接字文件,如 Linux?的主要内容,如果未能解决你的问题,请参考以下文章

5.9下午

Zabbix部署

zabbix监控哪些东西?

昆特牌Online——客户端设计

Zabbix介绍与使用

Sigar介绍与使用