[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Communications Programming Concepts

Initiating UNIX Stream Connections Example Program

/*
 * This program connects to the socket named in the command line
 * and sends a one line message to that socket.  The form of the
 * command line is ustreamwrite pathname.
 */
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <stdio.h>
#define DATA "Half a league, half a league..."
main(argc, argv)
   int argc;
   char *argv[];
{
   int sock;
   struct sockaddr_un server;
   char buf[1024];
   /* Create socket. */
   sock = socket(AF_UNIX, SOCK_STREAM, 0);
   if (sock < 0) {
      perror("opening stream socket");
      exit(1);
   }
   
   /* Connect socket using name specified by command line. */
   server.sun_family = AF_UNIX;
   strcpy(server.sun_path, argv[1]);
   server.sun_len = strlen(server.sun_path);
   if (connect(sock, (struct sockaddr *)&server,
      sizeof(struct sockaddr_un)) < 0) {
      close(sock);
      perror("connecting stream socket");
      exit(1);
   }
   if (write(sock, DATA, sizeof(DATA)) < 0)
      perror("writing on stream socket");
}

[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]