www.pudn.com > unpv12e.rar > daytimetcpcli.c
#include "unp.h"
int
main(int argc, char **argv)
{
int sockfd, n, npend;
char recvline[MAXLINE + 1];
socklen_t len;
struct sockaddr *sa;
if (argc != 3)
err_quit("usage: a.out ");
sockfd = Tcp_connect(argv[1], argv[2]);
sa = Malloc(MAXSOCKADDR);
len = MAXSOCKADDR;
Getpeername(sockfd, sa, &len);
printf("connected to %s\n", Sock_ntop_host(sa, len));
for ( ; ; ) {
if ( (n = Recv(sockfd, recvline, MAXLINE, MSG_PEEK)) == 0)
break; /* server closed connection */
Ioctl(sockfd, FIONREAD, &npend); /* check FIONREAD support */
printf("%d bytes from PEEK, %d bytes pending\n", n, npend);
n = Read(sockfd, recvline, MAXLINE);
recvline[n] = 0; /* null terminate */
Fputs(recvline, stdout);
}
exit(0);
}