1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#include <unp.h>
int main(int argc, char** argv){ int sockfd, n; char recvline[MAXLINE + 1];
struct sockaddr_in servaddr;
if(argc != 2) err_quit("usage: daytimecli <IPAddress>");
if( (sockfd = socket(AF_INET, SOCK_STREAM, 0) ) < 0) err_sys("socket error");
bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(13);
if(inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0) err_quit("inet_pton error for %s", argv[1]);
if(connect(sockfd, (SA *)&servaddr, sizeof(servaddr)) < 0) err_sys("connect error");
while( (n = read(sockfd, recvline, MAXLINE)) > 0 ){ recvline[n] = 0;
if(fputs(recvline, stdout) == EOF) err_sys("fputs error"); }
if(n < 0) err_sys("read error"); exit(0); }
|