版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件开发设计文档软件开发设计文档I文档管理信息表文档管理信息表主题主题web 服务器版本版本1.0内容内容可响应客户端发送文件请求的 web 服务器关键字关键字套接字,请求报文,响应报文,tcp 编程参考文档参考文档无创建时间创建时间2016/4/2创建人创建人吴鑫最新发布日期最新发布日期2016/4/2文档变更纪录文档变更纪录更改人更改人日期日期更改内容更改内容何鑫2016/4/4创建文件II目目 录录1开发规划开发规划.11.1开发人员.11.2开发计划.21.3开发环境和工具.31.4开发规范.32总体设计总体设计.42.1概念术语描述..1术语2.1.
2、2术语2.4 2.3主要界面流程描述..1功能1界面流程..2功能2界面流程.72.4模块列表.83数据结构数据结构.94接口规范接口规范..14.1.1Interface4.1.2Interface.115模块设计模块设计.125.1MODULE1 设计..1模块设计描述..2模块界面描述.125.2MODULE2 设计.136附录附录.146.1第三方组件.146.2参考资料.156.3附加文档.15III xx 项目.项目目标0开发规划
3、开发人员开发人员角角 色色主要职责主要职责负责模块负责模块人员人员备注备注何鑫负责编写窗口界面创建通信套接字建立连接获取 http 请求,解析请求报文封装文件到 http 响应报文中,并发送该响应报文软件的测试与优化xxx 模块xxx xx 项目.项目目标1 xx 项目.项目目标2开发环境和工具开发环境和工具开发工具工具工具作用作用Microsoft visual studio 2010web 服务器,窗口界面 xx 项目.项目目标3总体设计概念术语描述概念术语描述术语 1静态文本框术语 2请求报文响应报文 xx 项目.项目目标4基本设计描述基本设计描述 1.传入一个与某个浏览器通信的套接字
4、2.启动一个线程来监听浏览器接收到的数据 recive 3.如果监听浏览器的请求报文了,要: 3.1 要将请求报文显示在服务器软件的文本框中 3.2 要分析浏览器发来的请求报文 3.3 要根据请求报文处理浏览器的请求页面 4.生成响应报文,并输出到浏览器 T 5.关闭当前连接 xx 项目.项目目标5主要界面功能流程描述主要界面功能流程描述功能 1 界面流程1.使用 vs2010 创建一个基于 c#的窗体程序2.使用静态文本框,按钮等元素布置界面3.添加显示文本框用来显示“ip”,“端口号” ,和“日志”3.给两个按钮的 text 重命名并在 name 里给其命名4.最终窗体界面如图所示:(注:
5、我们默认服务器的 ip 地址为 ,端口号为 5004) xx 项目.项目目标6功能 2 创建浏览器和服务器的通信流程数据结构数据库表列表表名表名作用作用endpoint网络节点对象,用来传入网络节点对象,用来传入 ip 号和端口号号和端口号adress用来获得用来获得 IP 这个文本框里面的内容,为将套接字绑定到端口这个文本框里面的内容,为将套接字绑定到端口号中做准备号中做准备threadwatch创建负责调用套接字监听的线程sokwatch负责监听浏览器的套接字sokconnection接收浏览器请求并生成相应的通信套接字对象isrunning用来控制监听循环是否退出模块列
6、表模块名称模块名称(英文英文)功能功能备注备注模块 1sokwatch.Bind(endpoint)将套接字绑定到指定的端口号上模块 2sokwatch.Listen(10)设置监听队列(监听套接字能够同时处理的浏览器连接请求最大个数)模块 3 void watchConnectt()监听浏览器的连接请求模块 4threadwatch = new Thread(watchConnectt)实例化线程模块 5threadwatch.Start()启动线程模块 6void showmsg(string msg)用来在 txtmsglog 文本框中显示相应的连接信息 xx 项目.项目目标7功能 3
7、接收请求报文流程模块列表模块名称模块名称(英文英文)功能功能备注备注模块 1 public delegate void DGshowmsg(string msg)用来在控件上显示消息的委托类型新建类Dataconnection模块 2public delegate void DGshowmsg(string msg)用来在控件上显示消息的委托类型新建类Gshowmsg,并用委托类型模块 3public Dataconnection(Socket sokconnection,DGshowmsg dgshow)在 Dataconnection 类里,通过在构造函数传入参数的方式来传入与某个浏览器通
8、信的套接字和线程模块 4this.threadconnection = new Thread(recmsg);直接在内部来创建通信线程对象模块 5this.threadconnection.IsBackground = true; this.threadconnection.Start();启动该线程,并将其设置为后台线程arrmsg模块 6length = sokconnection.Receive(arrmsg);将浏览器发来的数据装入缓存区,并获得真实的数据长度模块 7TryCatch调用委托对象来在文本框中打印异常消息模块 8dgshow(recmsg);在文本框中显示消息 xx 项目
9、.项目目标8数据结构数据库表列表表名表名作用作用conn创建 Dataconnection 类对象,并传入当前套接字和线程arrmsg字节数组,当做缓存区length用来存放浏览器发来的数据的长度 recmsg用来存储已转换成字符串类型的数据功能 4 分析请求报文流程模块列表模块名称模块名称(英文英文)功能功能备注备注模块 1 public HttpRequestmodel(string requeststr)生成请求报文实体对象,并分析请求报文字符串,将每个语义字符都次实体类的相应属性中新建类HttpRequestmodel模块 2string arrequest=requeststr.Re
10、place(rn,籀).Split(籀);这里表示的是将rn转换成籀 ,便于处理,并分割字符新建类Gshowmsg,并用委托类型模块 3string firstrow = arrequest0.Split( );按照控件将已经分割好的字符再分割模块 4给路径赋值 xx 项目.项目目标9数据结构数据库表列表表名表名作用作用path定义页面路径字符串功能 5 读取文件流程模块列表模块名称模块名称(英文英文)功能功能备注备注模块 1 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;获得浏览器请求文件的物理
11、路径默认该请求文件在工程目录下模块 2Switch()Case:Case:根据请求文件的后缀名不同来做出不同的判断模块 3 void ProcessstaticPage(string path)该方法用来专门处理静态文件模块 4using(FileStream fs=new FileStream(path,FileMode.Open)使用文件流的方式来读取文件前提是要为FileStream 导入命名空间 xx 项目.项目目标10数据结构数据库表列表表名表名作用作用requestModel在 dataconnecton 类里创建请求报文实体对象dataDir用来存放当前执行程序的物理路径file
12、Dir存储请求文件的物理路径extentionName存储请求文件的后缀名功能 6 生成响应报文流程模块列表模块名称模块名称(英文英文)功能功能备注备注模块 1 public byte GetHttpResponseHeader()返回响应报文头字符串默认该请求文件在工程目录下模块 2 return System.Text.Encoding.UTF8.GetBytes(sbResponse .ToString ();返回请求文件的字节数组模块 3sokconnection.Send(model.GetHttpResponseHeader();利用套接字来将响应报文头发送回去模块 4使用文件流的方式来读取文件前提是要为FileStream 导入命名空间 xx 项目.项目目标11数据结构数据库表列表表名表名作用作用arrfile以二进制形式存储的文件数据contentType默认的响应内容的类型sbResponse用来显示响应报文头model生成响应报文头对象 xx 项目.项目目标12附录第三方组件第三方组件使用的命名空间:using System;using System.Collections.Generic;using System.ComponentModel;usin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年前台沟通能力考核练习卷
- 雪浪环境逆向混改的动因及效果研究
- 第8章 实数(知识+5大易错+)(知识清单)(解析版)-人教版(2024)七下
- 教案:2.6.1 有理数的乘方
- 疾病捐款倡议书集合15篇
- 谈我的理想演讲稿10篇
- 金秋企业助学讲话稿
- pvc风道施工方案(3篇)
- 临近基础施工方案(3篇)
- 人造钻石营销方案(3篇)
- 2026年医院年度经济运营分析报告
- 2026广东中山市神湾镇神湾社区居民委员会招聘1人考试参考题库及答案解析
- 2026西藏林芝巴宜区人民检察院司法警务辅助人员招聘3人笔试备考题库及答案解析
- 档案数字化项目立项申请书
- (新教材)2026年春期教科版二年级下册科学教学计划及进度表
- 2025年贵州省中考物理试题【含答案、解析】
- 首件确认制度
- 安徽绿沃循环能源科技有限公司12000t-a锂离子电池高值资源化回收利用项目(重新报批)环境影响报告书
- 东方汽轮机高低旁液压油站使用说明书
- 高等学校辅导员管理规定
- 高二心理健康教教育课完整版
评论
0/150
提交评论