加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

通过unix域套接字传递结构

发布时间:2020-12-15 21:23:52 所属栏目:安全 来源:网络整理
导读:我正在开发一个使用Unix域套接字(AF_UNIX)作为不同进程之间的IPC选择的项目. 当我想将数据结构从一个进程传递到另一个进程时,是否需要对数据结构进行序列化,如本问题(Passing a structure through Sockets in C)中所述? 由于这些进程是使用相同的编译器编译
我正在开发一个使用Unix域套接字(AF_UNIX)作为不同进程之间的IPC选择的项目.

当我想将数据结构从一个进程传递到另一个进程时,是否需要对数据结构进行序列化,如本问题(Passing a structure through Sockets in C)中所述?

由于这些进程是使用相同的编译器编译并在同一台机器上运行的,因此应该没有字节顺序,也没有不同的填充问题.所以我不确定序列化是否必要.

解决方法

您只需要确保收到的结构是可理解的.

如果结构由自包含类型组成,则不需要处理,只需调用write()或send()将数据推送到套接字即可.

在结构不是自包含的情况下需要序列化(例如,如果它包含指针或特定于平台的数据类型)

如果两个进程有可能具有不同的位(例如32位访问64位)或不同的字节顺序,您需要注意结构是明确定义的,以便在两种形式中都使用相同的二进制表示.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读