社区
Java SE
帖子详情
HTTP服务器的模拟程序:怎么判断客户机传送过来的数据已经完毕啊??
abcdhy
2004-08-15 12:50:19
哪位大侠写过HTTP服务器的模拟程序??
怎么判断客户机传送过来的数据已经完毕啊??
谢谢!!
用一个 while 循环读取, 如果没有数据 程序就会在 read() 函数处停止运行,必须要在 循环内部 判断已经读取完毕,及时跳出死循环 .
比如做一个最简单的服务器, 把 IE 发过来的所有信息回发给 IE ,我首先要接收了所有的信息,才能发送啊? 我怎么判断接收的信息的完整性啊,又什么时候停止接收啊?
...全文
153
5
打赏
收藏
微信扫一扫
点击复制链接
分享
下载分享明细
分享
举报
写回复
5 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
abcdhy
2004-08-16
呵呵,如果不知道编码,我在服务器怎么才能识别客户端发过来的信息呢??
各位有什么好的方法码??
打赏
举报
回复
赞
gameboy999
2004-08-16
就只有判断CONTENT_LENGTH
打赏
举报
回复
赞
dreamno
2004-08-16
效率不长
打赏
举报
回复
赞
zhang21cnboy
2004-08-16
你不可能知道客户端用什么编码。因为http协议没有规定这个。至于读取数据死循环的问题,你给socket设置超时。就可以解决这个问题。
打赏
举报
回复
赞
abcdhy
2004-08-16
先谢谢 ber() 的鼎力帮助!!
ber() 你说的这个方法,我也知道,但这其中有一个问题!
就是 IIS 也有这个BUG!
正常时 content_length:xxx 后是表示用户数据的长度,但如果客户端,故意修改了这个值(比如改得很大),再发给服务器,就会导致服务器没数据可读,一直阻塞在那里.
先不说这个问题了??还有一个重要的问题:
我接收到了用户输入的数据,我怎么知道客户端是使用的什么编码发送的呢??
是不是在某个位置有记录的??
谢谢!!
打赏
举报
回复
赞
相关推荐
Python程序设计:python模拟三次握手.pptx
Python程序设计:python模拟三次握手.pptx
面试官:
HTTP
协议你知道多少?
一、
Http
协议简介
HTTP
协议,即超文本传输协议(Hypertext transfer protocol)。
HTTP
协议通常承载于TCP协议...客户端向
服务器
发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求
数据
。
服务器
.
python——
http
协议简介、简单Web
服务器
实现(TCP)
HTTP
协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW
:
World Wide Web )
服务器
与本地浏览器之间传输超文本的
传送
协议。
HTTP
是一个属于应用层的面向对象的协议,由于其简捷、快速的...
HTTP
请求是如何断开TCP连接的?
我用程序测模拟IE和IIS,都没有收到断开连接的消息,也就是都没有触发OnClose事件。我是用Socket建立的连接。如果两方面都没有主动断开连接,那么我猜测可能是传输的
数据
中有结束的标志,请问这个标志是怎样的?谢谢...
细说OSI七层协议模型及OSI参考模型中的
数据
封装过程?
该层对接受到物理层传输
过来
的比特流进行分组,一组电信号构成的
数据
包,就叫做"帧",
数据
链链路层就是来传输以"帧"为单位的
数据
包,把
数据
传递给上一层(网络层),帧
数据
由两部分组成:帧头和帧
数据
,帧头包括...
发帖
Java SE
微信扫一扫
点击复制链接
分享社区
下载分享明细
6.2w+
社区成员
30.7w+
社区内容
Java 2 Standard Edition
社区管理员
加入社区
帖子事件
创建了帖子
2004-08-15 12:50
社区公告
暂无公告