23,214
社区成员




#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <string.h>
int main(){
int res,sockfd;
if((sockfd=socket(AF_UNIX,SOCK_DGRAM,0))==-1) //是本地通信的
perror("socket");
int reuse = 1;
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse));//设置地址可以复用
struct sockaddr_un addr;
addr.sun_family=AF_UNIX;
strcpy(addr.sun_path,"c.sock"); //设置c.sock作为通信地址
if((res=bind(sockfd,(struct sockaddr*)&addr,sizeof(addr)))==-1) //开始绑定套接字和通信地址
perror("bind");
char buf[10]={0};
if((res=read(sockfd,buf,sizeof(buf)))==-1) //接收服务器发来的数据
perror("read");
printf("收到的数据大小是%d,数据是%s\n",res,buf);
close(sockfd);//关闭socket
return 0;
}