UNIX域数据报套接字的流程可参考UDP套接字编程。其服务器端流程及代码示例如下所示。
(1)创建UNIX域数据报套接字。
(2)填充服务器本地信息结构体。
(3)将套接字与服务器本地信息结构体绑定。
(4)进行通信 (recvfrom/sendto)。
1 #include <stdio.h>
2 #include <arpa/inet.h>
3 #include <sys/types.h>
4 #include <sys/socket.h>
5 #include <stdlib.h>
6 #include <unistd.h>
7 #include <string.h>
8 #include <sys/un.h>
9
10 #define N 128
11 #define errlog(errmsg) do{perror(errmsg);\
12 printf("%s--%s--%d\n",\
13 __FILE__, __func__, __LINE__);\
14 exit(1);\
15 }while(0)
16
17 int main(int argc, const char *argv[])
18 {
19 int sockfd;
20 struct sockaddr_un serveraddr, clientaddr;
21 socklen_t addrlen = sizeof(serveraddr);
22 char buf[N] = {};
23
24 //第一步:创建套接字
25 if((sockfd = socket(AF_UNIX, SOCK_DGRAM, 0)) < 0){
26 errlog("fail to