Unix Socket(UDS)
使用套接字的API,UDS是Linux内核实现的全内存通信,无任何IO消耗
类型1:SOCK_STREAM
- 需要考虑TCP数据包边界问题
类型2:SOCK_DGRAM
- 不需要考虑TCP数据包边界问题,发送多大的数据接收的时候就收到多大的数据,没有传输过程中的丢包、乱序问题,send写入和recv读取的顺序是完全一致的。send返回成功后一定是可以recv到
- 数据比较小时非常适合用SOCK_DGRAM这种方式,IP包每个最大有64k的限制,收包速度太慢操作系统缓冲区满了会丢弃包
sysvmsg
Linux提供的消息队列,通过一个文件名来作为key进行通讯,不够灵活