lvxuzhou


私信TA

用户名:lvxuzhou

访问量:97339

签 名:

lvxuzhou

等  级
排  名 48
经  验 11191
参赛次数 0
文章发表 56
年  龄 0
在职情况 学生
学  校 西安
专  业

  自我简介:

公共头文件:

#pragma once
#include<stdio.h>
#include<stdint.h>
#include<string.h>
#include<unistd.h>
#include<arpa/inet.h>
#include<stdlib.h>
#include<time.h>
#include<stdbool.h>
#include<signal.h>
#define SERVERPORT 1989

#define FTM_STAMP "%lld\r\n"

#define lv_exit(str)\
        perror(str);\
        exit(1);

服务器 安装

apt-get install apache2

在/var/www/html/   路径放置一张图片

微信图片_20210922232215.png

打开浏览器访问  http://192.168.244.154/test.jpeg

QQ图片20211029005241.png

客户端代码:

#include "proto.h"
int main(int argc, char const *argv[])
{
    int sfd = socket(AF_INET, SOCK_STREAM, 0);
    if (sfd < 0)
    {
        perror("socket");
        exit(1);
    }
    struct sockaddr_in seraddr;
    seraddr.sin_family = AF_INET;
    seraddr.sin_port = htons(80); //服务器端口
    seraddr.sin_addr.s_addr = inet_addr("192.168.244.154");
    if (connect(sfd, (void *)&seraddr, sizeof seraddr) < 0)
    {
        perror("connect");
        exit(1);
    }
    FILE *fp = fdopen(sfd, "r+");
    if (fp == NULL)
    {
        perror("fdopen");
        exit(1);
    }
    else
    {
        fprintf(fp, "GET /test.jpg\r\n\r\n");
        fflush(fp);
    }
    while (1)
    {
        char buf[512]={0};
        int len=fread(buf,1,sizeof buf,fp);
        if (len==0)
        {
            break;
        }
        fwrite(buf,1,len,stdout);
    }
    
    fclose(fp);
    return 0;
}

执行:

./cli > lv

 eog lv

结果如下:
QQ图片20211029005241.png

 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区