通过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位)或不同的字节顺序,您需要注意结构是明确定义的,以便在两种形式中都使用相同的二进制表示. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |