zoukankan      html  css  js  c++  java
  • 升级tinyhttpd-0.1.0,让其支持网页显示图像

    tinyhttpd是学习http协议非常好的工具,但是由于其过于简单,不支持在网页上显示图片,所以我改了一些代码,让tinyhttpd可以现实图像,供新手一起学习和熟悉http协议,ubuntu14.04下直接make就可以,已经测试通过.

    代码: download.csdn.net/detail/qiankun1993/9524289

    主要增加两个函数,第一个是图像封装头的函数,传输图片时要将html的头中的Content-Type设置为image/png:

    void headers2(int client, const char *filename)
    {
     char buf[1024];
     (void)filename;  /* could use filename to determine file type */
    
     strcpy(buf, "HTTP/1.0 200 OK
    ");
     send(client, buf, strlen(buf), 0);
     strcpy(buf, SERVER_STRING);
     send(client, buf, strlen(buf), 0);
     sprintf(buf, "Content-Type: image/png
    ");
     send(client, buf, strlen(buf), 0);
     strcpy(buf, "
    ");
     send(client, buf, strlen(buf), 0);
    }

    第二个是读取本地图片文件的函数,使用下面的cat2()来读取图像文件的数据:

    void cat2(int client, FILE *resource)
    {
     char buf[1024];
     char c;
     while ((fscanf(resource,"%c",&c))!=EOF)
     {
      send(client, &c, 1, 0);
      printf("%c",c);
     }
     printf("%c",c);
    }

    然后就可以在网页上显示图像了,这个仅供新手学习,大牛们不要鄙视我.

  • 相关阅读:
    SSM博客
    做完了第一个
    day08
    day07
    day06
    解决Zend OPcache huge_code_pages: mmap(HUGETLB) failed: Cannot allocate memory报错
    《响应式网页设计》系列分享专栏
    《Linux命令学习手册》系列分享专栏
    详解Docker 端口映射与容器互联
    centos7安装gitlab
  • 原文地址:https://www.cnblogs.com/dchipnau/p/5506225.html
Copyright © 2011-2022 走看看