HTTP服务器的模拟程序:怎么判断客户机传送过来的数据已经完毕啊??

abcdhy 2004-08-15 12:50:19
哪位大侠写过HTTP服务器的模拟程序??
怎么判断客户机传送过来的数据已经完毕啊??
谢谢!!

用一个 while 循环读取, 如果没有数据 程序就会在 read() 函数处停止运行,必须要在 循环内部 判断已经读取完毕,及时跳出死循环 .

比如做一个最简单的服务器, 把 IE 发过来的所有信息回发给 IE ,我首先要接收了所有的信息,才能发送啊? 我怎么判断接收的信息的完整性啊,又什么时候停止接收啊?

...全文
192 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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 后是表示用户数据的长度,但如果客户端,故意修改了这个值(比如改得很大),再发给服务器,就会导致服务器没数据可读,一直阻塞在那里.

先不说这个问题了??还有一个重要的问题:
我接收到了用户输入的数据,我怎么知道客户端是使用的什么编码发送的呢??
是不是在某个位置有记录的??

谢谢!!
内容概要:本文详细介绍了一个基于C++语言开发的疫苗接种和儿童体检系统的设计与实现全过程,涵盖项目背景、目标意义、架构设计、核心功能模块、数据库实现、API接口规范、前后端代码实现及部署应用等多个方面。系统采用分层架构与模块化设计,实现了儿童信息管理、疫苗接种记录、体检数据录入、多用户权限控制、数据统计分析、异常预警、安全加密与日志审计等核心功能,并通过MySQL数据库进行数据持久化,结合Qt实现图形化界面,支持高并发、数据脱敏、多平台对接与自动化部署。项目强调数据安全、隐私保护与系统可扩展性,适用于社区医疗、疾控中心、学校及医院等场景。; 适合人群:具备C++编程基础,熟悉数据库操作和基本软件工程流程的开发人员、计算机及相关专业学生、医疗信息化项目开发者,以及希望了解完整医疗管理系统开发流程的技术人员。; 使用场景及目标:①学习如何使用C++构建完整的医疗信息管理系统;②掌握数据库设计、前后端交互、权限控制、多线程处理和GUI开发等关键技术;③应用于社区卫生服务、学校健康管理、疾控数据统计等实际业务场景,提升儿童健康管理水平;④作为课程设计、毕业设计或实际项目的参考模板。; 阅读建议:建议读者结合文档中的代码示例与数据库脚本,搭建本地开发环境进行实践操作,重点关注系统架构设计、模块解耦、安全机制与前后端交互逻辑,深入理解各功能模块的实现原理,并尝试在此基础上进行功能扩展,如接入移动端或增加AI分析模块。

62,630

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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