c编写的SOCKET客户端如何获取http服务器的图片?

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的主页面
阅读 5.1k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题