Linux
Application Development |
Michael K. Johnson Erik W. Troan |
/* uclient.c - simple client for Unix domain sockets */ /* Connect to the ./sample-socket Unix domain socket, copy stdin into the socket, and then exit. */ #include <sys/socket.h> #include <sys/un.h> #include <unistd.h> #include "sockutil.h" /* some utility functions */ int main(void) { struct sockaddr_un address; int sock; size_t addrLength; if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) die("socket"); address.sun_family = AF_UNIX; /* Unix domain socket */ strcpy(address.sun_path, "./sample-socket"); /* The total length of the address includes the sun_family element */ addrLength = sizeof(address.sun_family) + strlen(address.sun_path); if (connect(sock, (struct sockaddr *) &address, addrLength)) die("connect"); copyData(0, sock); close(sock); return 0; }