2 #include <stdio.h>
3 #include <sys/socket.h>
4 #include <netinet/in.h>
5 #define MAXLINE 4096
6 #define SA struct sockaddr
7
8 int main (int argc, char **argv)
9 {
10 int sockfd, n;
11 char recvline[MAXLINE + 1];
12 struct sockaddr_in servaddr;
13
14 if (argc!=2)
15 printf("usage:a.out <IPaddress>");
16
17 if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
18 printf("socket error");
19 printf("%s\n\n", argv[1]);
20 bzero(&servaddr, sizeof(servaddr));
21 servaddr.sin_family = AF_INET;
22 servaddr.sin_port = htons(13);
23
24 if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0)
25 printf("inet_pton error for %s", argv[1]);
26
27 if(connect(sockfd, (SA*) &servaddr, sizeof(servaddr)) < 0)
28 printf("connect error");
29
30 while ( (n = read(sockfd, recvline, MAXLINE)) > 0) {
31 recvline[n]=0;
32 if (fputs(recvline, stdout) ==EOF)
33 printf("fputs error");
34 }
35
36 exit(0);
3 #include <sys/socket.h>
4 #include <netinet/in.h>
5 #define MAXLINE 4096
6 #define SA struct sockaddr
7
8 int main (int argc, char **argv)
9 {
10 int sockfd, n;
11 char recvline[MAXLINE + 1];
12 struct sockaddr_in servaddr;
13
14 if (argc!=2)
15 printf("usage:a.out <IPaddress>");
16
17 if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
18 printf("socket error");
19 printf("%s\n\n", argv[1]);
20 bzero(&servaddr, sizeof(servaddr));
21 servaddr.sin_family = AF_INET;
22 servaddr.sin_port = htons(13);
23
24 if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0)
25 printf("inet_pton error for %s", argv[1]);
26
27 if(connect(sockfd, (SA*) &servaddr, sizeof(servaddr)) < 0)
28 printf("connect error");
29
30 while ( (n = read(sockfd, recvline, MAXLINE)) > 0) {
31 recvline[n]=0;
32 if (fputs(recvline, stdout) ==EOF)
33 printf("fputs error");
34 }
35
36 exit(0);
37 }
使用:
gcc ****
./a.out 192.43.244.18