预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

-..word.zl软件开发设计文档文档管理信息表主题web效劳器版本1.0容可响应客户端发送文件请求的web效劳器关键字套接字,请求报文,响应报文,tcp编程参考文档无创立时间2016/4/2创立人吴鑫最新发布日期2016/4/2文档变更纪录更改人日期更改容何鑫2016/4/4创立文件目录1开发规划11.1开发人员11.2开发方案21.3开发环境和工具31.4开发规32总体设计42.1概念术语描述42.1.1术语142.1.2术语242.3主要界面流程描述72.3.1功能1界面流程72.3.2功能2界面流程72.4模块列表83数据构造94接口规104.1<模块1API>104.1.1Interface1104.1.2Interface2104.2<模块2API>114.3<模块3API>114.4<数据库API>115模块设计125.1Module1设计125.1.1模块设计描述125.1.2模块界面描述125.2Module2设计136附录146.1第三方组件146.2参考资料156.3附加文档15-..word.zl开发规划开发人员角色主要职责负责模块人员备注何鑫负责编写窗口界面创立通信套接字建立连接获取请求,解析请求报文封装文件到响应报文中,并发送该响应报文软件的测试与优化xxx模块xxx开发环境和工具开发工具工具作用Microsoftvisualstudio2010web效劳器,窗口界面总体设计概念术语描述术语1静态文本框术语2请求报文响应报文根本设计描述1.传入一个与某个浏览器通信的套接字2.启动一个线程来监听浏览器接收到的数据recive3.如果监听浏览器的请求报文了,要:3.1要将请求报文显示在效劳器软件的文本框中3.2要分析浏览器发来的请求报文3.3要根据请求报文处理浏览器的请求页面4.生成响应报文,并输出到浏览器T5.关闭当前连接主要界面功能流程描述功能1界面流程使用vs2010创立一个基于c#的窗体程序使用静态文本框,按钮等元素布置界面3.添加显示文本框用来显示“ip〞,“端口号〞,和“日志〞给两个按钮的text重命名并在name里给其命名最终窗体界面如下图:〔注:我们默认效劳器的ip地址为127.0.0.1,端口号为5004〕功能2创立浏览器和效劳器的通信流程数据构造数据库表列表表名作用endpoint网络节点对象,用来传入ip号和端口号adress用来获得IP这个文本框里面的容,为将套接字绑定到端口号中做准备threadwatch创立负责调用套接字监听的线程sokwatch负责监听浏览器的套接字sokconnection接收浏览器请求并生成相应的通信套接字对象isrunning用来控制监听循环是否退出模块列表模块名称(英文)功能备注模块1sokwatch.Bind(endpoint)将套接字绑定到指定的端口号上模块2sokwatch.Listen(10)设置监听队列〔监听套接字能够同时处理的浏览器连接请求最大个数〕模块3voidwatchConnectt()监听浏览器的连接请求模块4threadwatch=newThread(watchConnectt)实例化线程模块5threadwatch.Start()启动线程模块6voidshowmsg(stringmsg)用来在txtmsglog文本框中显示相应的连接信息功能3接收请求报文流程模块列表模块名称(英文)功能备注模块1publicdelegatevoidDGshowmsg(stringmsg)用来在控件上显示消息的委托类型新建类Dataconnection模块2publicdelegatevoidDGshowmsg(stringmsg)用来在控件上显示消息的委托类型新建类Gshowmsg,并用委托类型模块3publicDataconnection(Socketsokconnection,DGshowmsgdgshow)在Dataconnection类里,通过在构造函数传入参数的方式来传入与某个浏览器通信的套接字和线程模块4this.threadconnection=newThread(recmsg);直接在部来创立通信线程对象模块5this.threadconnection.IsBackground=true;this.threadconnection.Start();启动该线程,并将其设置为后台线程arrmsg模块6length=sokconnection.Receive(arrmsg);将浏览器发来的数据装入缓存区,并获得真实的数据长度模块7Try{}Catch{}调用委托对象来在文本框中打印异常消息模块8dgshow(recmsg);在文本框中显示消息数据构造数据库表列表表名作用conn创立Dataconnection类对象,并传入当前套接字