📄 client.c
字号:
/*** socket client**/#include <stdio.h>#include <netdb.h>#include <sys/socket.h>#include <netinet/in.h>/*#include <time.h>*/#define SERVPORT 9800 #define MAXDATASIZE 100 /*每次最大数据传输量 */ main(int argc, char *argv[]){ int sockfd, recvbytes; char buf[MAXDATASIZE]; struct hostent *host; struct sockaddr_in serv_addr; time_t tt; /* if (argc < 2) { fprintf(stderr,"Please enter the server's hostname!n"); exit(1); } if((host=gethostbyname(argv[1]))==NULL) { herror("gethostbyname出错!"); exit(1); } */ host=gethostbyname("10.179.89.150"); if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1){ perror("socket创建出错!"); exit(1); } serv_addr.sin_family=AF_INET; serv_addr.sin_port=htons(SERVPORT); serv_addr.sin_addr = *((struct in_addr *)host->h_addr); bzero(&(serv_addr.sin_zero),8); if (connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(struct sockaddr)) == -1) { perror("connect出错!"); exit(1); } time( &tt ); printf("CLIENT receive at %s\n", ctime( &tt )); if ((recvbytes=recv(sockfd, buf, MAXDATASIZE, 0)) ==-1) { perror("recv出错!"); time( &tt ); printf("CLIENT receive err at %s\n", ctime( &tt )); exit(1); } time( &tt ); printf("CLIENT receive over at %s\n", ctime( &tt )); printf( "CLIENT recv [%s]!\n", buf); close( sockfd ); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -