写了一个简单的webserver但是在向浏览器发送图片时遇到问题,求思路???

best_threewood 2007-01-15 05:13:24
为了练习socket编程,自己写了一个简单的WebServer。现在能做到的是启动webserver后,浏览器向它请求HTML页面后浏览器能够正确现实请求的页面。但现在的问题是HTML文件中不能有图片。因为我不清楚作为服务器端怎样读取一个图片文件发送给浏览器。服务器的Response返回头中的content_type和content_length我已经都设置好了,可还是不行。
我的做法是以二进制方式把一个图片读入一个char数组然后拼好返回头以后发送给浏览器。但总是不成功。

请前辈们指点并提供思路(当然原码也可以)。

因为我是初学者所以希望您在提供思路时能写的详细一些。

谢谢!
...全文
604 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ElectronicCabbage 2021-07-28
  • 打赏
  • 举报
回复

。。。。07年就有人写webserver了,21年我依旧遇到了同样的问题。。。。

孤独的海啊 2007-02-04
  • 打赏
  • 举报
回复
header 里面起码要设置数据类型吧 我觉得 比如img/jpeg之类的 我瞎说说 具体是什么参考一个http规范咯
huguang 2007-01-31
  • 打赏
  • 举报
回复
我只知道,浏览器请求一个html,这时候服务器返回给浏览器的,不包括图片,CSS文件,javascript文件等等这些,而是浏览器在接收到的html,然后对这个html进行解释,当解释到图片的时候,会再次向服务器发出请求,然后服务器根据请求将图片发送给浏览器

不知道对你有没有帮助!
iceheart 2007-01-30
  • 打赏
  • 举报
回复
抓包
best_threewood 2007-01-18
  • 打赏
  • 举报
回复
我就是不知道HTTP怎样传输图片,而作为一个服务器怎样及发送一张图片给浏览器使浏览器能够正常的显示出来。请前辈们指点。
best_threewood 2007-01-17
  • 打赏
  • 举报
回复
我现在主要迷惑的是怎样在服务器端使用socket发送一张图片给浏览器,并且能够让浏览器正确显示。图片我已经以二进制方式读到一个char数组里面了,但把这个char数组发送给浏览器时浏览器却不能显示该图片。我认为我的HTTP返回头写得没错啊。

请高手指点。
pottichu 2007-01-16
  • 打赏
  • 举报
回复
我的做法是以二进制方式把一个图片读入一个char数组然后拼好返回头以后发送给浏览器。但总是不成功。
--------------------------------
你这里的不成功是指发送不成功?
如果是 你可以将图片分成几块来发, 因为如果图片过大,
一次肯定是发不完的.不过协议方面.... HTTP 我不熟!
best_threewood 2007-01-15
  • 打赏
  • 举报
回复
感谢

OOPhaisky(异化$渴望成功~~)

请前辈们继续指点。
OOPhaisky 2007-01-15
  • 打赏
  • 举报
回复
恩,楼主真得很不错,学习完socket之后就动手做点儿实际的东西,而且按照你说的,你做得也已经很不错了。

至于现实HTML中图片的问题,楼主大可不必太放在心上,因为这是一个应用层的问题,并不说明你的socket编程存在缺陷。

“因为我不清楚作为服务器端怎样读取一个图片文件发送给浏览器”,服务器不用将图片发给用户,只需要一个在服务器上的相对地址就可以了,你可以随便打开一个网页,右键一个图片,看看属性你就明白了。

4,354

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧