




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、網(wǎng)絡(luò)協(xié)議編程課程設(shè)計(jì)網(wǎng)絡(luò)協(xié)議編程課程設(shè)計(jì)網(wǎng)絡(luò)協(xié)議編程課程設(shè)計(jì)HUNAN CITY UNIVERSITY 網(wǎng)絡(luò)協(xié)議編程課程設(shè)計(jì) 說明書 設(shè)計(jì)題目:基于MFC框架的Echo協(xié)議模擬軟件的設(shè)計(jì)與實(shí)現(xiàn) 專 業(yè): 網(wǎng)絡(luò)工程 學(xué)生姓名: * 班級(jí)學(xué)號(hào): 1206101-28 分組成員: 1206101-05 *、1206101-31* 1206101-28何* 指導(dǎo)教師: *老師 *老師 2015 年 07月 03日網(wǎng)絡(luò)協(xié)議編程課程設(shè)計(jì)說明書學(xué)號(hào):1206101-28 姓名:*一、設(shè)計(jì)時(shí)間2015年06月29日-07月03日。二、設(shè)計(jì)地點(diǎn)湖南城市學(xué)院信息樓507機(jī)房。三、設(shè)計(jì)目的1、鞏固網(wǎng)絡(luò)協(xié)議編程課程涉
2、及的基本知識(shí),培養(yǎng)靈活運(yùn)用知識(shí)進(jìn)行獨(dú)立設(shè)計(jì)的能力;2、掌握TCP/IP網(wǎng)絡(luò)程序框架、Winsock API、高級(jí)網(wǎng)絡(luò)編程API的使用;3、提高綜合運(yùn)用所學(xué)的理論知識(shí)獨(dú)立分析和解決問題的能力;4、進(jìn)一步熟悉利用Visual C+6.0進(jìn)行開發(fā)的能力;5、培養(yǎng)查閱資料,獨(dú)立思考問題的能力。四、設(shè)計(jì)小組成員1206101-05* 1206101-31* 1206101-28*五、指導(dǎo)老師*老師、*老師。六、設(shè)計(jì)課題經(jīng)過小組組員的討論,決定選取選題(18 基于MFC框架的Echo協(xié)議模擬軟件的設(shè)計(jì)與實(shí)現(xiàn)),編寫一個(gè)基于MFC框架的Echo協(xié)議模擬軟件。理由:1、Echo協(xié)議(也稱回聲協(xié)議)是一個(gè)非常簡(jiǎn)
3、單的協(xié)議,它主要用于網(wǎng)絡(luò)可達(dá)性的檢測(cè)中。2、該系統(tǒng)功能相對(duì)簡(jiǎn)單,易于實(shí)現(xiàn),適于初學(xué)者。3、該系統(tǒng)牽涉到TCP協(xié)議、CAsysncSocket類、C/S模式以及MFC框架,采用VC6.0編制程序模擬Echo協(xié)議的基本功能,需要靈活運(yùn)用這些知識(shí)解決實(shí)際問題,有利于培養(yǎng)網(wǎng)絡(luò)系統(tǒng)開發(fā)的實(shí)際動(dòng)手能力。七、基本思路及關(guān)鍵問題的解決方法本系統(tǒng)的開發(fā)采用基于MFC的Echo協(xié)議的C/S模式,服務(wù)器在端口7檢測(cè)接收到的信息,如果收到信息,則原封不動(dòng)地重發(fā)回客戶端。根據(jù)C/S模式的特點(diǎn),使用TCP協(xié)議、CAsysncSocket類、C/S模式以及MFC框架,采用VC6.0編制程序模擬Echo協(xié)議的基本功能。設(shè)計(jì)為
4、了方便,利用VC+自動(dòng)生成的對(duì)話框來(lái)進(jìn)行刪除和修改,并且利用圖形用戶界面來(lái)添加相應(yīng)的相應(yīng)按鈕。算法及流程圖 開始初始化加載CAsyncSocket類偵聽偵聽失敗建立連接NY調(diào)用Accept()函數(shù)調(diào)用CAsyncSelect()函數(shù)將數(shù)據(jù)返回給客戶端關(guān)閉套接字結(jié)束服務(wù)器流程圖開始初始化加載CAsyncSocket類結(jié)束連接失敗接收數(shù)據(jù)建立連接N響應(yīng)函數(shù)OnTimer()客戶端流程圖Y關(guān)閉程序運(yùn)行:服務(wù)器初始界面:客戶端初始界面:服務(wù)器開始偵聽,客戶端點(diǎn)擊連接:彈出如下對(duì)話框,輸入相應(yīng)信息: 客戶端點(diǎn)擊確定后服務(wù)器彈出如下提示框: 在信息輸入框輸入信息:點(diǎn)擊發(fā)送:發(fā)送成功并接收到了從服務(wù)器端返回
5、的一樣的信息。調(diào)試過程中出現(xiàn)的問題及相應(yīng)解決辦法1.調(diào)試過程中出現(xiàn)問題,一一對(duì)應(yīng)檢查,在經(jīng)過對(duì)書上代碼的對(duì)比后改正,最終成功編譯并運(yùn)行。2.在連接時(shí)使用了不相同的端口號(hào),導(dǎo)致建立不了連接,檢查之后發(fā)現(xiàn)并改正過來(lái)。3在畫流程圖時(shí),由于對(duì)代碼的不熟悉,導(dǎo)致問題多多,經(jīng)慢慢了解,初步得以解決。十一、課程設(shè)計(jì)心得體會(huì)通過這次課程設(shè)計(jì),讓我更加深刻的了解了TCP這門課程編程方面的知識(shí),和以往對(duì)知識(shí)的疏忽也得以補(bǔ)充,在設(shè)計(jì)過程中,我和小組另一位成員一起負(fù)責(zé)畫流程圖和基本思路方面,雖然遇到了一些問題,但經(jīng)過我們幾個(gè)同學(xué)的一次又一次的思考,一遍又一遍的檢查終于找出了原因并及時(shí)改正,雖然我們?cè)谶@方面的知識(shí)有所欠
6、缺和不足,但是我覺得我收獲了很多、學(xué)會(huì)了很多、也比以往更有耐心很多。十二、源程序服務(wù)器:/偵聽void CCSockServerDlg:OnListen() if(m_srvrSocket.m_hSocket=INVALID_SOCKET) BOOL bFlag=m_srvrSocket.Create(7,SOCK_STREAM,FD_ACCEPT); if(!bFlag) AfxMessageBox(Socket Error!); m_srvrSocket.Close(); PostQuitMessage(0); return; /偵聽成功,等待連接請(qǐng)求if(!m_srvrSocket.Li
7、sten(1) int nErrorCode=m_srvrSocket.GetLastError(); if(nErrorCode!=WSAEWOULDBLOCK) AfxMessageBox(Socket Error!); m_srvrSocket.Close(); PostQuitMessage(0); return; 客戶端:/連接void CCSockClientDlg:OnConnect() m_clientSocket.ShutDown(2); m_clientSocket.m_hSocket=INVALID_SOCKET; m_clientSocket.m_bConnected=
8、FALSE;CAddrDlg m_Dlg;/默認(rèn)端口7m_Dlg.m_Port =7;if(m_Dlg.DoModal()=IDOK & !m_Dlg.m_Addr.IsEmpty() memset(m_szServerAdr,0,sizeof(m_szServerAdr);/汪彥老師添加 /memcpy(m_szServerAdr,m_Dlg.m_Addr,sizeof(m_Dlg.m_Addr); memcpy(m_szServerAdr,m_Dlg.m_Addr,strlen(m_Dlg.m_Addr)+1); m_szPort=m_Dlg.m_Port; /建立計(jì)時(shí)器,每1s嘗試連接一
9、次,直到連上或TryCout10 SetTimer(1,1000,NULL); TryCount=0;/發(fā)送void CCSockClientDlg:OnSend() / TODO: Add your control notification handler code hereif(m_clientSocket.m_bConnected) m_clientSocket.m_nLength=m_MSG.GetWindowText(m_clientSocket.m_szBuffer,sizeof(m_clientSocket.m_szBuffer); m_clientSocket.AsyncSel
10、ect(FD_WRITE); m_MSG.SetWindowText();/退出void CCSockClientDlg:OnExit() / TODO: Add your control notification handler code here/關(guān)閉socketm_clientSocket.ShutDown(2);/關(guān)閉對(duì)話框EndDialog(0);/WINDOWS消息響應(yīng)函數(shù)void CCSockClientDlg:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call default
11、if(m_clientSocket.m_hSocket=INVALID_SOCKET) BOOL bFlag=m_clientSocket.Create(0,SOCK_STREAM,FD_CONNECT); if(!bFlag) AfxMessageBox(Socket Error!); m_clientSocket.Close(); PostQuitMessage(0); return; /AfxMessageBox(m_szServerAdr);m_clientSocket.Connect(m_szServerAdr,m_szPort); / 汪彥老師修改 /m_clientSocket.Connect(127.0.0.1,7);TryCount+;if(TryCount=10 | m_clientSocket.m_bConnected) KillTimer(1); if(TryCount=10) AfxMessageBox(Connect Failed!);return; CDialog:OnTimer(nIDEvent);參考文獻(xiàn)1任泰明.TCP/IP網(wǎng)絡(luò)編程M.北京:人民郵電出版社,200
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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年茶葉加工技術(shù)規(guī)范與標(biāo)準(zhǔn)應(yīng)用評(píng)茶員(初級(jí))考試試卷
- 走進(jìn)大自然一次探險(xiǎn)經(jīng)歷記敘文寫作指南6篇
- 兒童疫苗的種類和接種計(jì)劃
- 秋日思念的深情訴說抒情類作文(6篇)
- 花兒為什么這么紅觀察日記5篇
- 貿(mào)易出口業(yè)務(wù)合作證明書(6篇)
- 五金制品2025年跨境電商市場(chǎng)消費(fèi)者購(gòu)買決策影響因素報(bào)告
- 醫(yī)療行業(yè)從業(yè)經(jīng)歷及崗位證明函(7篇)
- 2025年醫(yī)療行業(yè)人工智能輔助診斷產(chǎn)品注冊(cè)審批法規(guī)對(duì)技術(shù)創(chuàng)新的促進(jìn)報(bào)告
- 通信設(shè)備安裝與網(wǎng)絡(luò)維護(hù)合同
- 企業(yè)工會(huì)采購(gòu)制度管理規(guī)定
- 浙江溫州高速公路甌北片區(qū)招聘高速公路巡查人員考試真題2022
- 江蘇蘇州工業(yè)園區(qū)蘇相合作區(qū)管理委員會(huì)機(jī)關(guān)工作人員招聘13人告5204筆試題庫(kù)含答案解析
- 2018年三年級(jí)數(shù)學(xué)下冊(cè)期末試卷A3(附答題卡、答案)
- 三年級(jí)下學(xué)期音樂復(fù)習(xí)題
- 工傷預(yù)防概念1
- GA 1808-2022軍工單位反恐怖防范要求
- 山水林田湖試點(diǎn)銅川市耀州區(qū)沮河下游生態(tài)保護(hù)修復(fù)項(xiàng)目環(huán)評(píng)報(bào)告
- 2023-2024學(xué)年云南省大理市小學(xué)數(shù)學(xué)四年級(jí)下冊(cè)期末通關(guān)測(cè)試題
- GB/T 14536.1-2022電自動(dòng)控制器第1部分:通用要求
- 一升二數(shù)學(xué)思維訓(xùn)練8 15
評(píng)論
0/150
提交評(píng)論