前言
基于pfunix的UDP通信在linux作为在系统内部进程之间的一种通信方式非常常见,效果也很好。
本文介绍了一个对UDP的系统调用进行了封装的类(CPfUdp),可以简化UDP的访问,提升开发效率。
github: https://github.com/magiclake/hnet
一、CPfUdp 是什么?
PF_UNIX (也称作 PF_LOCAL ) 套接字族用来在同一机器上的提供有效的进程间通讯.Unix 套接字可以是匿名的(由 socketpair(2) 创建), 也可以与套接字类型文件相关联. Linux 还支持一种抽象名字空间, 它是独立于文件系统的.
有效的类型有: SOCK_STREAM 用于面向流的套接字, SOCK_DGRAM 用于面向数据报的套接字,其可以保存消息界限. Unix 套接字总是可靠的,而且不会重组数据报.
Unix 套接字支持把文件描述符或者进程的信用证明作为数据报的辅助数据传递给其它进程.
CPfUdp 是一个使得在Linux下使用PF_UNIX 进行udp通信的单头文件的封装类。
二、UDP客户端使用
#include "CPfUdp.hpp"
void main(){
using namespace hnet;
CUdpPfClient client(PF_PATH);
UdpData data(sendData, sendData + strlen(sendData