#include #include #include #include #include #include #include #include int main(int argc, char **argv) { struct sockaddr_un address; int socket_fd, nbytes; char buffer[256]; int num_samples; if (argc != 2) { printf("Usage:\n"); printf(" unixdomain_client \n"); return 0; } num_samples = atoi(argv[1]); if (num_samples <= 0) { printf("Number of samples to send must be >0\n"); return 1; } fprintf(stderr, "Number of samples to send: %d\n", num_samples); /* We shohuld send N+1 packets to get N diffs */ num_samples = num_samples+1; socket_fd = socket (PF_UNIX, SOCK_DGRAM, 0); if (socket_fd < 0) { printf ("socket() failed\n"); return 1; } /* start with a clean address structure */ memset (&address, 0, sizeof (struct sockaddr_un)); address.sun_family = AF_UNIX; snprintf (address.sun_path, FILENAME_MAX, "./demo_socket"); if (connect (socket_fd, (struct sockaddr *) &address, sizeof (struct sockaddr_un)) != 0) { printf ("connect() failed\n"); return 1; } for (int i=0; i