2 #include <sys/socket.h>
9 void* messenger(void* arg)
11 struct sockaddr_un server_addr;
19 msglen = strlen(msg) + 1;
20 //printf("msg=%lu \n", sizeof(msg));
22 /* Create a socket for the client. */
24 sockfd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
26 /* Name the socket, as agreed with the server. */
28 server_addr.sun_family = AF_UNIX;
29 strcpy(server_addr.sun_path, "server_socket");
31 /* Now connect our socket to the server's socket. */
33 result = connect(sockfd, (struct sockaddr *)&server_addr,
40 /* We can now read/write via sockfd. */
42 while (send(sockfd, msg, msglen, 0) == -1){
43 if (errno == EINTR) continue;
47 while (recv(sockfd, buf, sizeof(buf),0) == -1){
48 if (errno == EINTR) continue;
52 printf("sent=%s received=%s", msg,buf);
56 printf(" -- FAILED!!!\n");
68 int main(int argc, char *argv[])
70 char msg1[20]="Thread1";
71 char msg2[20]="Thread2";
75 pthread_attr_init(&attr);
76 pthread_create(&thread, &attr, messenger, (void*) msg1);
77 pthread_create(&thread, &attr, messenger, (void*) msg2);
79 while (1) { /* primitive wait but enough ;-) */