📄 client.c
字号:
/** client.c*/#include <stdio.h>#include <sys/socket.h>#include <sys/types.h>#include <netinet/in.h>#include <arpa/inet.h>#include <netdb.h>#include <error.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <ctype.h>char *host_name ="192.168.10.100";//local hostint port = 8000;void main(int argc,char *argv[]){ char buf[8192]; char message[256]; int socket_descriptor; struct sockaddr_in pin; struct socet_descriptor; struct hostent *server_host_name; char *str = "A default test string"; if(argc < 2){ printf("Usage:'test\"Any test string\"\n"); printf("we will send a default test string.\n"); } else { str = argv[1]; } if((server_host_name = gethostbyname(host_name)) == 0){ perror("error resolving local host\n"); exit(1); } bzero(&pin,sizeof(pin)); pin.sin_family = AF_INET; pin.sin_addr.s_addr = htonl(INADDR_ANY); pin.sin_addr.s_addr = ((struct in_addr*)(server_host_name-> h_addr))->s_addr; pin.sin_port = htons(port); if((socket_descriptor = socket(AF_INET,SOCK_STREAM,0)) == -1){ perror("error opening socket\n"); exit(1); } if(connect(socket_descriptor,(void*)&pin,sizeof(pin)) == -1){ perror("error connecting to socket\n"); exit(1); } printf("Sending message %s to server...\n",str); if(send(socket_descriptor,str,strlen(str),0) == -1){ perror("error in send\n"); exit(1); } printf("...sent message...wait for response...\n"); if(recv(socket_descriptor,buf,8192,0) == -1){ perror("error in receiving response from server\n"); exit(1); } printf("\nResponse from server:\n\n%s\n",buf); close(socket_descriptor);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -