?? 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 /*每次最大數(shù)據傳輸量 */ 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創(chuàng)建出錯!"); 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 + -