⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tchtcpcli.c

📁 通信程序
💻 C
字号:
#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <netdb.h> #include <sys/types.h> #include <netinet/in.h> #include <sys/socket.h> #define PORT 3490    /* the port client will be connecting to */#define MAXDATASIZE 100 /* max number of bytes we can get at once */int main(int argc, char *argv[]){	int sockfd, numbytes;  	char buf[MAXDATASIZE];	struct hostent *he;	struct sockaddr_in their_addr; /* connector's address information */	if (argc != 2) 	{	    fprintf(stderr,"usage: client hostname\n");	    exit(1);	}	if ((he=gethostbyname(argv[1])) == NULL) 	{  /* get the host info */	    perror("gethostbyname error");	    exit(1);	}	perror("gethostbyname sucess\n");	if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) 	{	    perror("socket error");	    exit(1);	}	perror("socket sucess\n");	their_addr.sin_family = AF_INET;      /* host byte order */	their_addr.sin_port = htons(PORT);    /* short, network byte order */	their_addr.sin_addr = *((struct in_addr *)he->h_addr);	bzero(&(their_addr.sin_zero), 8);     /* zero the rest of the struct */	if (connect(sockfd, (struct sockaddr *)&their_addr, sizeof(struct sockaddr)) == -1) 	{	    perror("connect error");	    exit(1);	}	perror("connect sucess\n");	if ((numbytes=recv(sockfd, buf, MAXDATASIZE, 0)) == -1) 	{            perror("recv error");            exit(1);        }        buf[numbytes] = '\0';        printf("Received: %s",buf);        close(sockfd);        return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -