TCPdaytime.c
上传用户:wei_4586
上传日期:2008-05-28
资源大小:18k
文件大小:1k
- /* TCPdaytime.c - TCPdaytime, main */
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
- extern int errno;
- int TCPdaytime(const char *host, const char *service);
- int errexit(const char *format, ...);
- int connectTCP(const char *host, const char *service);
- #define LINELEN 128
- /*------------------------------------------------------------------------
- * main - TCP client for DAYTIME service
- *------------------------------------------------------------------------
- */
- int
- main(int argc, char *argv[])
- {
- char *host = "localhost"; /* host to use if none supplied */
- char *service = "daytime"; /* default service port */
- switch (argc) {
- case 1:
- host = "localhost";
- break;
- case 3:
- service = argv[2];
- /* FALL THROUGH */
- case 2:
- host = argv[1];
- break;
- default:
- fprintf(stderr, "usage: TCPdaytime [host [port]]n");
- exit(1);
- }
- TCPdaytime(host, service);
- exit(0);
- }
- /*------------------------------------------------------------------------
- * TCPdaytime - invoke Daytime on specified host and print results
- *------------------------------------------------------------------------
- */
- TCPdaytime(const char *host, const char *service)
- {
- char buf[LINELEN+1]; /* buffer for one line of text */
- int s, n; /* socket, read count */
- s = connectTCP(host, service);
- while( (n = read(s, buf, LINELEN)) > 0) {
- buf[n] = ' '; /* ensure null-terminated */
- (void) fputs( buf, stdout );
- }
- }