socket_client.c

来自「socket实现网络通信的一个简单实现 socket实现网络通信的一个简单实现」· C语言 代码 · 共 62 行

C
62
字号
#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 + =
减小字号Ctrl + -
显示快捷键?