




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件開(kāi)發(fā)設(shè)計(jì)文檔實(shí)用模板-作者xxxx-日期xxxx【精品文檔】【精品文檔】軟件開(kāi)發(fā)設(shè)計(jì)文檔軟件開(kāi)發(fā)設(shè)計(jì)文檔【精品文檔】【精品文檔】文檔管理信息表文檔管理信息表主題主題web服務(wù)器版本版本內(nèi)容內(nèi)容可響應(yīng)客戶端發(fā)送文件請(qǐng)求的web服務(wù)器關(guān)鍵字關(guān)鍵字套接字,請(qǐng)求報(bào)文,響應(yīng)報(bào)文,tcp編程參考文檔參考文檔無(wú)創(chuàng)建時(shí)間創(chuàng)建時(shí)間2016/4/2創(chuàng)建人創(chuàng)建人吳鑫最新發(fā)布日期最新發(fā)布日期2016/4/2文檔文檔變變更更紀(jì)錄紀(jì)錄更改人更改人日期日期更改內(nèi)容更改內(nèi)容何鑫2016/4/4創(chuàng)建文件【精品文檔】【精品文檔】目目 錄錄1開(kāi)發(fā)規(guī)劃開(kāi)發(fā)規(guī)劃.1開(kāi)發(fā)人員.1開(kāi)發(fā)計(jì)劃.2開(kāi)發(fā)環(huán)境和工具.3開(kāi)發(fā)規(guī)范.32總體設(shè)計(jì)總
2、體設(shè)計(jì).4概念術(shù)語(yǔ)描述..1術(shù)語(yǔ)1.4術(shù)語(yǔ)2.4 主要界面流程描述.7功能1界面流程.7功能2界面流程.7模塊列表.83數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu).94接口規(guī)范接口規(guī)范.10.10Interface1.10Interface1.115模塊設(shè)計(jì)模塊設(shè)計(jì).12MODULE1設(shè)計(jì).12模塊設(shè)計(jì)描述.12模塊界面描述.12MODULE2設(shè)計(jì).136附錄附錄.14第三方組件.14參考資料.15附加文檔.15【精品文檔】【精品文檔】【精品文檔】【精品文檔】開(kāi)發(fā)規(guī)劃開(kāi)發(fā)人員開(kāi)發(fā)人員角角 色色主要職責(zé)主要職責(zé)負(fù)責(zé)模塊負(fù)責(zé)模塊人員人員備注備注何鑫負(fù)責(zé)編寫窗口界面創(chuàng)建通信套接字建立連接獲
3、取http請(qǐng)求,解析請(qǐng)求報(bào)文封裝文件到http響應(yīng)報(bào)文中,并發(fā)送該響應(yīng)報(bào)文軟件的測(cè)試與優(yōu)化xxx模塊xxx【精品文檔】【精品文檔】【精品文檔】【精品文檔】開(kāi)發(fā)環(huán)境和工具開(kāi)發(fā)環(huán)境和工具開(kāi)發(fā)工具工具工具作用作用Microsoft visual studio 2010web服務(wù)器,窗口界面【精品文檔】【精品文檔】總體設(shè)計(jì)概念術(shù)語(yǔ)描述概念術(shù)語(yǔ)描述術(shù)語(yǔ)1靜態(tài)文本框術(shù)語(yǔ)2請(qǐng)求報(bào)文響應(yīng)報(bào)文【精品文檔】【精品文檔】基本設(shè)計(jì)描述基本設(shè)計(jì)描述 3.如果監(jiān)聽(tīng)瀏覽器的請(qǐng)求報(bào)文了,要: 4.生成響應(yīng)報(bào)文,并輸出到瀏覽器T【精品文檔】【精品文檔】主要界面功能流程描述主要界面功能流程描述功能1界面流程1.使用vs2010創(chuàng)
4、建一個(gè)基于c#的窗體程序2.使用靜態(tài)文本框,按鈕等元素布置界面“ip”,“端口號(hào)”,和“日志”3.給兩個(gè)按鈕的text重命名并在name里給其命名4.最終窗體界面如圖所示:(注:我們默認(rèn)服務(wù)器的ip地址為,端口號(hào)為5004)【精品文檔】【精品文檔】功能2創(chuàng)建瀏覽器和服務(wù)器的通信流程數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫(kù)表列表表名表名作用作用endpoint網(wǎng)網(wǎng)絡(luò)節(jié)絡(luò)節(jié)點(diǎn)點(diǎn)對(duì)對(duì)象,用來(lái)象,用來(lái)傳傳入入ip號(hào)和端口號(hào)號(hào)和端口號(hào)adress用來(lái)用來(lái)獲獲得得IP這這個(gè)文本框里面的內(nèi)容,個(gè)文本框里面的內(nèi)容,為為將套接字將套接字綁綁定定到端口號(hào)中做準(zhǔn)到端口號(hào)中做準(zhǔn)備備threadwatch創(chuàng)建負(fù)責(zé)調(diào)用套接字監(jiān)聽(tīng)
5、的線程sokwatch負(fù)責(zé)監(jiān)聽(tīng)瀏覽器的套接字sokconnection接收瀏覽器請(qǐng)求并生成相應(yīng)的通信套接字對(duì)象isrunning用來(lái)控制監(jiān)聽(tīng)循環(huán)是否退出模塊列表模塊名稱模塊名稱(英文英文)功能功能備注備注模塊1sokwatch.Bind(endpoint)將套接字綁定到指定的端口號(hào)上模塊2sokwatch.Listen(10)設(shè)置監(jiān)聽(tīng)隊(duì)列(監(jiān)聽(tīng)套接字能夠同時(shí)處理的瀏覽器連接請(qǐng)求最大個(gè)數(shù))模塊3 void watchConnectt()監(jiān)聽(tīng)瀏覽器的連接請(qǐng)求模塊4threadwatch = new Thread(watchConnectt)實(shí)例化線程【精品文檔】【精品文檔】模塊5threadwat
6、ch.Start()啟動(dòng)線程模塊6void showmsg(string msg)用來(lái)在txtmsglog文本框中顯示相應(yīng)的連接信息功能3接收請(qǐng)求報(bào)文流程模塊列表模塊名稱模塊名稱(英文英文)功能功能備注備注模塊1 public delegate void DGshowmsg(string msg)用來(lái)在控件上顯示消息的委托類型新建類Dataconnection模塊2public delegate void DGshowmsg(string msg)用來(lái)在控件上顯示消息的委托類型新建類Gshowmsg,并用委托類型模塊3public Dataconnection(Socket sokconnec
7、tion,DGshowmsg dgshow)在Dataconnection類里,通過(guò)在構(gòu)造函數(shù)傳入?yún)?shù)的方式來(lái)傳入與某個(gè)瀏覽器通信的套接字和線程模塊4this.threadconnection = new Thread(recmsg);直接在內(nèi)部來(lái)創(chuàng)建通信線程對(duì)象模塊5this.threadconnection.IsBackground = true; this.threadconnection.Start();啟動(dòng)該線程,并將其設(shè)置為后臺(tái)線程arrmsg模塊6length = sokconnection.Receive(arrmsg);將瀏覽器發(fā)來(lái)的數(shù)據(jù)裝入緩存區(qū),并獲得真實(shí)的數(shù)據(jù)長(zhǎng)度模塊7
8、TryCatch調(diào)用委托對(duì)象來(lái)在文本框中打印異常消息【精品文檔】【精品文檔】模塊8dgshow(recmsg);在文本框中顯示消息【精品文檔】【精品文檔】數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫(kù)表列表表名表名作用作用conn創(chuàng)建Dataconnection類對(duì)象,并傳入當(dāng)前套接字和線程arrmsg字節(jié)數(shù)組,當(dāng)做緩存區(qū)length用來(lái)存放瀏覽器發(fā)來(lái)的數(shù)據(jù)的長(zhǎng)度 recmsg用來(lái)存儲(chǔ)已轉(zhuǎn)換成字符串類型的數(shù)據(jù)功能4分析請(qǐng)求報(bào)文流程模塊列表模塊名稱模塊名稱(英文英文)功能功能備注備注模塊1 public HttpRequestmodel(string requeststr)生成請(qǐng)求報(bào)文實(shí)體對(duì)象,并分析請(qǐng)求報(bào)文字符串,將每個(gè)語(yǔ)義
9、字符都次實(shí)體類的相應(yīng)屬性中新建類HttpRequestmodel模塊2string arrequest=requeststr.Replace(rn,籀).Split(籀);這里表示的是將rn轉(zhuǎn)換成籀,便于處理,并分割字符新建類Gshowmsg,并用委托類型模塊3string firstrow = arrequest0.Split( );按照控件將已經(jīng)分割好的字符再分割模塊4給路徑賦值【精品文檔】【精品文檔】數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫(kù)表列表表名表名作用作用path定義頁(yè)面路徑字符串功能5讀取文件流程模塊列表模塊名稱模塊名稱(英文英文)功能功能備注備注模塊1 dataDir = System.IO.Direc
10、tory.GetParent(dataDir).Parent.Parent.FullName;獲得瀏覽器請(qǐng)求文件的物理路徑默認(rèn)該請(qǐng)求文件在工程目錄下模塊2Switch()Case:Case:根據(jù)請(qǐng)求文件的后綴名不同來(lái)做出不同的判斷模塊3 void ProcessstaticPage(string path)該方法用來(lái)專門處理靜態(tài)文件模塊4using(FileStream fs=new FileStream(path,FileMode.Open)使用文件流的方式來(lái)讀取文件前提是要為FileStream導(dǎo)入命名空間【精品文檔】【精品文檔】【精品文檔】【精品文檔】數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫(kù)表列表表名表名作用作用
11、requestModel在dataconnecton類里創(chuàng)建請(qǐng)求報(bào)文實(shí)體對(duì)象dataDir用來(lái)存放當(dāng)前執(zhí)行程序的物理路徑fileDir存儲(chǔ)請(qǐng)求文件的物理路徑extentionName存儲(chǔ)請(qǐng)求文件的后綴名功能6生成響應(yīng)報(bào)文流程模塊列表模塊名稱模塊名稱(英文英文)功能功能備注備注模塊1 public byte GetHttpResponseHeader()返回響應(yīng)報(bào)文頭字符串默認(rèn)該請(qǐng)求文件在工程目錄下模塊2 return System.Text.Encoding.UTF8.GetBytes(sbResponse .ToString ();返回請(qǐng)求文件的字節(jié)數(shù)組模塊3sokconnection.Se
12、nd(model.GetHttpResponseHeader();利用套接字來(lái)將響應(yīng)報(bào)文頭發(fā)送回去模塊4使用文件流的方式來(lái)讀取文件前提是要為FileStream導(dǎo)入命名空間【精品文檔】【精品文檔】【精品文檔】【精品文檔】數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫(kù)表列表表名表名作用作用arrfile以二進(jìn)制形式存儲(chǔ)的文件數(shù)據(jù)contentType默認(rèn)的響應(yīng)內(nèi)容的類型sbResponse用來(lái)顯示響應(yīng)報(bào)文頭model生成響應(yīng)報(bào)文頭對(duì)象【精品文檔】【精品文檔】附錄第三方組件第三方組件使用的命名空間:using System;using System.Collections.Generic;using System.ComponentModel;using System.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省元江民中2025屆高一下化學(xué)期末達(dá)標(biāo)檢測(cè)模擬試題含解析
- 2025屆廣西梧州市岑溪市高一下化學(xué)期末統(tǒng)考試題含解析
- 公園流動(dòng)漁具管理辦法
- 春節(jié)車票報(bào)銷管理辦法
- 北京裝修押金管理辦法
- 公司舊房分配管理辦法
- 公開(kāi)掛牌收款管理辦法
- “萬(wàn)名教師訪萬(wàn)戶”活動(dòng)成效評(píng)估報(bào)告
- AIGC賦能制造業(yè)生產(chǎn)力的技術(shù)路徑與實(shí)踐研究
- 汽車零部件失效模式及其影響因素分析
- 水泥場(chǎng)地改造方案(3篇)
- 資材部安全生產(chǎn)責(zé)任制
- 既有建筑節(jié)能綜合改造項(xiàng)目可行性研究報(bào)告
- 貴州省銅仁市萬(wàn)山區(qū)2024-2025學(xué)年部編版七年級(jí)下學(xué)期6月期末歷史試題(含答案)
- 2025年工程管理基礎(chǔ)知識(shí)考試試卷及答案
- 礦山生態(tài)修復(fù)方案
- 2024年江西省公安廳招聘警務(wù)輔助人員考試真題
- 聯(lián)想銷售人員管理制度
- 貴州2023年高中學(xué)業(yè)水平合格性考試地理試卷真題(含答案詳解)
- 開(kāi)曼群島公司法2024版中文譯本(含2024年修訂主要內(nèi)容)
- T∕ZZB 2752-2022 聚合級(jí)苯乙烯
評(píng)論
0/150
提交評(píng)論