TCP/IP Programming Manual
/* define things */
 int fo;
 int rdstat,nbytes;
 register int fd;
 struct sockaddr_in sin;
 char *buf;
 char *procname;
 int nbufs, bsize;
 int port;
 struct hostent *host_entry;
 /* DEBUG(); */
/* open send file */
 argc--; argv++;
 if (argc < 3)
 goto usage;
 if ((fo = (open(argv[0],O_RDONLY))) < 0) {
 printf ("CLIENT: open failed\n");
 exit(0);
 }
/* set address according to device name */
 argc--; argv++;
 if ((sin.sin_addr.s_addr = inet_addr(argv[0])) == INET_ERROR ){
 if ((host_entry = gethostbyname(argv[0])) ==
 (struct hostent *)NULL) {
 printf ("Get host by name failed, error %d\n",h_errno);
 exit(0);
 }
 sin.sin_addr.s_addr =
 *(unsigned long *) (*(host_entry->h_addr_list));
 }
 else
 sin.sin_addr.s_addr = inet_addr(argv[0]);
/* set port number */
 argc--; argv++;
 if ((port = atoi (argv [0])) <= 0)
 goto usage;
/* set the process name */
 argc--; argv++;
 if (argc > 0)
 procname = argv[0];
 else
 procname = "$ZTC0";
/* set the number of buffers to be sent */
 argc--; argv++;
 if (argc > 0)
 nbufs = atoi (argv [0]);
 else
 nbufs = 1;
/* set the size of the buffer to be sent */
 argc--; argv++;
 if (argc > 0)
 bsize = atoi (argv [0]);
 else
 bsize = 1024;
 buf = (char *)malloc (bsize);
216 Sample Programs










