2 #include <sys/socket.h>
10 int server_sockfd, client_sockfd;
12 struct sockaddr_un server_addr;
13 struct sockaddr_un client_addr;
18 /* Remove any old socket and create
19 * an unnamed socket for the server. */
21 unlink("server_socket");
22 server_sockfd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
24 /* Name the socket. */
26 server_addr.sun_family = AF_UNIX;
27 strcpy(server_addr.sun_path, "server_socket");
28 bind(server_sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr));
30 /* Create a connection queue and wait for clients. */
32 listen(server_sockfd, 5);
34 client_sockfd = accept(server_sockfd,
35 (struct sockaddr *)&client_addr,
37 /* if (client_sockfd < 0) {
38 if (errno==EINTR) continue;
39 printf("Accept error \n");
49 while ((mlen = recv(client_sockfd, buf, sizeof(buf),
51 if (errno == EINTR) continue;
55 while (send(client_sockfd, buf, mlen, 0) == -1){
56 if (errno == EINTR) continue;