用于本地进程间通信
创建套接字时使用本地协议PF_UNIX 或 PF_LOCAL
socket(PF_LOCAL,SOCK_STREAM,0)
socket(PF_LOCAL,SOCK_DGRAM,0)
分为流式套接字和用户数据包套接字
unix域套接字(流式):
server:
int
在struct sockaddr_un结构体中:
sun_family:总是填充PF_UNIX或PF_LOCAL
sun_path:unix套接字文件路径必须要满足两个前提:①文件事先不存在②给绝对路径
unix中的文件实际是在内存中的文件
注:如果不确定文件是否存在,可以使用access判断文件是否存在;如果文件已经存在,可以使用unlink删除文件。
client:
connect中填充的结构体也是使用struct sockaddr_un
注:
在所有的网络数据读写中,一定要注意发送数据和接收数据的缓存区的大小,必须要一致或者相匹配,否则出现数据显示的错误,出现空字符串。(个人常遇见)
源码:
server:
#include
client:
#include