html - c编写的SOCKET客户端如何获取http服务器的图片?
天蓬老师
天蓬老师 2017-04-17 14:18:52
[Linux讨论组]

1.编写了一个socket的客户端,模拟浏览器发送http 的GET请求到服务器端
2.可以正常获取到服务器返回的信息,但是只能收到HTML代码
3.是因为服务器那边将连接关闭的原因吗?

4.我本来的目的是做一个转发的服务,类似于代理服务器,然后通过浏览器输入这个客户端建立的服务地址,然后可以收到HTTP服务端的页面。
5.本地的服务端已经写好了,页面也可以正常打开,但是只有图片无法加载,只能加载文本数据。

测试程序已经找到问题了。原来的程序在文本信息发送后,确实会将图片等其他数据传过来。
但是还是找不到什么原因导致的图片传输一半就会关闭连接。
1.目前我的代理程序在windows端工作,使用完成端口,想将远程服务器的页面转发到本地,然后在浏览器可以打开页面。
2.目前的问题是图片会偶尔传输不过来,尺寸小的图片可以传送,但是大尺寸的图片传输一部分后,连接就会关闭.
3.同样的连接模式,在linux平台使用epoll模型,转发数据都正常。
请问可能是哪方面问题呢?

/*
+----------------------------------------------------------------------------------------------+
|           在本地PC运行的程序分为服务端与客户端                                    |
|                                                                                              |
|   +--------------------------+             +---------------------------------------+         |            +---------------------------+
|   |                          |             |                                       |         |            |                           |
|   |    本地客户端              |             |    在本地建立的服务端                   |         |            |   192.168.2.19            |
|   |    主要是浏览器            +-----------> |    负责将本地数据转发到远端服务器        +------------------->  |   远端服务器               |
|   |    FTP等软件            |             |    或者将远端服务器发送过来             |         |            |    真实的目标地址           |
|   |                          |             |    的数据转发到本地的客户端             |         |            |                           |
|   |                          |  <----------+                                       |  <-------------------+                           |
|   |                          |             |                                       |         |            |                           |
|   +--------------------------+             +---------------------------------------+         |            |                           |
|                                                                                              |            +---------------------------+
|                                                                                              |
+----------------------------------------------------------------------------------------------+

要达到效果是:
在浏览器中输入 127.0.0.1:8000
打开192.168.2.19的主页面
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
阿神

浏览器请求一个页面也不一定只发一次http请求啊 所以除了请求/init.html以外,你还需要再请求/test.png

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号