📄 socket_client.c
字号:
#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include<sys/ioctl.h>#include<sys/stat.h>#include<fcntl.h>void client(char* addr,unsigned short int port,const char *file_name){ int sockfd; int len; struct sockaddr_in address; int result; char buff[BUFSIZ]; //创建一个套接字 sockfd = socket(AF_INET,SOCK_STREAM,0); //命名套接字 address.sin_family = AF_INET; address.sin_addr.s_addr = inet_addr(addr); address.sin_port = htons(port); len = sizeof(address); //将客户端套接字连接到服务器套接字 result = connect(sockfd,(struct sockaddr *)&address,len); if(result == -1) { perror("oops: clinet"); exit(-1); } printf("Client connection.\n"); send(sockfd,"G",1,0); //发送GET请求 FILE* stream; int nread; stream = fopen(file_name,"w+t"); if(stream == NULL) exit(1); //将网页在本地 while((nread = recv(sockfd,buff,BUFSIZ,0)) > 0){ fwrite(buff,sizeof(char),nread,stream); bzero(buff,BUFSIZ); } fclose(stream);}int main(int argc,char* argv[]){ client("127.0.0.1",9999,"a.html"); //用浏览器打开页面 execlp("firefox","a.html",0); return (EXIT_SUCCESS);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -