版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p><b> 網(wǎng)絡工程課程設計</b></p><p><b> 設計說明書</b></p><p> 起止日期:2012年7月2日至2012年7月13日</p><p> 計算機與信息工程學院</p><p> 2012年7月13日</p><p>
2、<b> 課程設計任務書</b></p><p> 2011 —2012 學年第 二 學期</p><p> 電子與信息工程 系 網(wǎng)絡工程 專業(yè) 一 班級</p><p> 課程設計名稱: 網(wǎng)絡工程課程設計 </p><p> 設計題目: 基
3、于C/S的簡單通信通信協(xié)議 </p><p> 完成期限:自 2012 年 7 月 2 日至 2012 年 7 月 13 日共 2 周</p><p> 設計依據(jù)、要求及主要內(nèi)容:</p><p><b> 一、 設計目的</b></p><p> 了解網(wǎng)絡協(xié)議工作原理,并
4、使用編程實現(xiàn)。</p><p><b> 二、設計要求 </b></p><p> 在本課程設計過程中要求學生:</p><p> ?。?)重視課程設計環(huán)節(jié),用嚴謹、科學和踏實的工作態(tài)度對待課程設計的每一項任務;</p><p> ?。?)按照課程設計的題目要求,獨立地完成各項任務。</p><
5、;p> ?。?)學生在接受設計任務后,根據(jù)要求認真完成。</p><p> ?。?)認真編寫課程設計報告。</p><p><b> 三、設計內(nèi)容</b></p><p> 寫一個軟件,并用此軟件實現(xiàn)某個網(wǎng)絡傳輸協(xié)議的功能</p><p> 指導教師(簽字): </p>
6、;<p> 教研室主任(簽字): </p><p> 批準日期: 年 月 日</p><p><b> 摘 要</b></p><p> 本次課程設計完成一個簡單的通信協(xié)議,使用C++語言在基于對C/S模式了解的基礎上,并利用Socket套接字完成這個協(xié)議。</p&
7、gt;<p><b> 目錄</b></p><p> 第1章 程序定義1</p><p> 第2章 需求分析1</p><p> 第3章 程序設計1</p><p> 3.1 開發(fā)環(huán)境及工具1</p><p><b> 3.2結(jié)構(gòu)設計1</b&
8、gt;</p><p> 3.2.1 Client客戶端1</p><p> 3.2.2服務器端2</p><p><b> 3.3詳細設計3</b></p><p> 3.3.1系統(tǒng)數(shù)據(jù)結(jié)構(gòu)3</p><p> 第4章 實驗結(jié)果6</p><p>
9、 第5章 實驗心得7</p><p><b> 參考文獻7</b></p><p><b> 第1章 程序定義</b></p><p> 本程序采用TCP/IP協(xié)議的套接字功能完成,并在C/S模式的基礎上建立的,擁有一個Server客戶端以及Client客戶端,并能夠?qū)崿F(xiàn)兩個客戶端的相互通信。</p>
10、<p><b> 第2章 需求分析</b></p><p> Socket通常也稱作"套接字",用于描述IP地址、端口和傳輸協(xié)議,是一個通信鏈的句柄。IP地址是每個主機的網(wǎng)絡地址,是唯一的,同時程序端口號是應用軟件運行的編號,而傳輸協(xié)議是通信過程中所采用的傳輸協(xié)議,所以每個Socket套接字是每個程序特定的編號。Server建立的時候在監(jiān)聽整個網(wǎng)絡環(huán)境,
11、當以相同Socket套接字進行建立連接請求的時候才會接受這種連接請求。每種服務都打開一個Socket,并綁定到一個端口上,不同的端口對應于不同的服務。</p><p> 本程序是一個聊天程序,為了能過進行簡單的通信過程。</p><p><b> 第3章 程序設計</b></p><p> 3.1 開發(fā)環(huán)境及工具</p>&
12、lt;p> 開發(fā)工具Microsoft Visual C++ 6.0</p><p><b> 開發(fā)語言C++</b></p><p><b> 3.2結(jié)構(gòu)設計</b></p><p> 3.2.1 Client客戶端</p><p><b> 3.2.2服務器端<
13、;/b></p><p><b> 3.3詳細設計</b></p><p> 3.3.1系統(tǒng)數(shù)據(jù)結(jié)構(gòu)</p><p> Client客戶端程序:</p><p> #include <winsock2.h></p><p> #include <stdio.h&g
14、t;</p><p> #pragma comment(lib,"ws2_32.lib")</p><p> void main()</p><p><b> {</b></p><p> WORD wVersionRequested;</p><p> WSADAT
15、A wsaData;</p><p><b> int err;</b></p><p> wVersionRequested = MAKEWORD( 1, 1 );//請求1.1版本的winsock庫</p><p> err = WSAStartup( wVersionRequested, &wsaData );</p&
16、gt;<p> if ( err != 0 ) {</p><p><b> return;</b></p><p><b> }</b></p><p> if ( LOBYTE( wsaData.wVersion ) != 1 ||</p><p> HIBYTE( ws
17、aData.wVersion ) != 1 ) {</p><p> WSACleanup( );</p><p><b> return; </b></p><p><b> }</b></p><p> SOCKET sockClient=socket(AF_INET,SOCK_DGRA
18、M,0);</p><p> SOCKADDR_IN addrSrv;</p><p> addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");</p><p> addrSrv.sin_family=AF_INET;</p><p> addrSrv.sin_po
19、rt=htons(6000);</p><p> char recvBuf[100];</p><p> char sendBuf[100];</p><p> char tempBuf[200]; </p><p> int len=sizeof(SOCKADDR);</p><p><b> w
20、hile(1)</b></p><p><b> {</b></p><p> printf("請輸入消息:\n");</p><p> gets(sendBuf);</p><p> sendto(sockClient,sendBuf,strlen(sendBuf)+1,0,&l
21、t;/p><p> (SOCKADDR*)&addrSrv,len);</p><p> recvfrom(sockClient,recvBuf,100,0,(SOCKADDR*)&addrSrv,&len);</p><p> sprintf(tempBuf,"%s 說: %s",inet_ntoa(addrSrv.s
22、in_addr),recvBuf);</p><p> printf("%s\n",tempBuf);</p><p><b> }</b></p><p> closesocket(sockClient);</p><p> WSACleanup();</p><p>
23、;<b> while(1);</b></p><p><b> }</b></p><p> Server客戶端程序:</p><p> #include <winsock2.h></p><p> #include <stdio.h></p>&l
24、t;p> #pragma comment(lib,"ws2_32.lib")</p><p> void main()</p><p><b> {</b></p><p> WORD wVersionRequested;</p><p> WSADATA wsaData;</p
25、><p><b> int err;</b></p><p> wVersionRequested = MAKEWORD( 1, 1 );//請求1.1版本的winsock庫</p><p> err = WSAStartup( wVersionRequested, &wsaData );</p><p>
26、if ( err != 0 ) {</p><p><b> return;</b></p><p><b> }</b></p><p> if ( LOBYTE( wsaData.wVersion ) != 1 ||</p><p> HIBYTE( wsaData.wVersion )
27、 != 1 ) {</p><p> WSACleanup( );</p><p><b> return; </b></p><p><b> }</b></p><p> //加載完套接字的庫后,創(chuàng)建套接字</p><p> SOCKET sockSrv=soc
28、ket(AF_INET,SOCK_DGRAM,0);</p><p> //將套接字綁定到地址</p><p> SOCKADDR_IN addrSrv;</p><p> addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);</p><p> addrSrv.sin_family=AF_IN
29、ET;</p><p> addrSrv.sin_port=htons(6000);</p><p> bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));</p><p> char recvBuf[100];</p><p> char sendBuf[100];</
30、p><p> char tempBuf[200];</p><p> SOCKADDR_IN addrClient;//獲取通訊方的地址信息</p><p> int len=sizeof(SOCKADDR);</p><p><b> while(1)</b></p><p><b&g
31、t; {</b></p><p> recvfrom(sockSrv,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);</p><p> sprintf(tempBuf,"%s 說: %s",inet_ntoa(addrClient.sin_addr),recvBuf);</p>&l
32、t;p> printf("%s\n",tempBuf);</p><p> printf("請輸入消息:\n");</p><p> gets(sendBuf);//獲取一行數(shù)據(jù),回車結(jié)束</p><p> sendto(sockSrv,sendBuf,strlen(sendBuf)+1,0,(SOCKADDR*
33、)&addrClient,len);</p><p><b> }</b></p><p> closesocket(sockSrv);</p><p> WSACleanup();</p><p><b> while(1);</b></p><p><
34、;b> }</b></p><p><b> 第4章 實驗結(jié)果</b></p><p><b> Server客戶端</b></p><p><b> Client客戶端</b></p><p><b> 第5章 實驗心得</b&g
35、t;</p><p> 通過此次的實驗,讓我對于Socket網(wǎng)絡聊天類的使用有了更深入的了解,在關于網(wǎng)絡編程的方面也有了新的認識。雖然此程序的功能還比較的簡單,而且某些方面還沒能完善,但是,我相信我只是一個開始。</p><p> 課程設計是每一個大學生在大學生涯中都不可或缺的,它使我們在實踐中了 鞏固了所學的知識、在實踐中鍛煉自己的動手能力;實習又是對每一位大學生所 學專業(yè)知識的一種
36、拓展手段, 它讓我們學到了很多在課堂上根本就學不到的知識, 不僅開闊了自己的視野,增戰(zhàn)了自己的見識,也為我們以后進一步走向社會打下 了堅實的基礎,是我們走向以后走向工作崗位的奠基石。</p><p><b> 參考文獻</b></p><p> [1]謝希仁.計算機網(wǎng)絡第4版.電子工業(yè)出版社.2003</p><p> [2]趙永發(fā),由大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于音頻通信的安全通信協(xié)議研究與設計.pdf
- 網(wǎng)絡工程課程設計
- 網(wǎng)絡工程課程設計
- 基于tcp的網(wǎng)絡通信協(xié)議設計畢業(yè)設計論文
- 基于tcp的網(wǎng)絡通信協(xié)議設計畢業(yè)設計論文
- 串口通信協(xié)議
- usb通信協(xié)議
- 網(wǎng)絡工程課程設計 (2)
- 基于無線Mesh網(wǎng)絡通信協(xié)議的研究.pdf
- 校園網(wǎng)絡工程設計-網(wǎng)絡工程課程設計報告
- 校園網(wǎng)絡工程設計-網(wǎng)絡工程課程設計報告
- 網(wǎng)絡通信課程設計
- 基于tcpip協(xié)議的網(wǎng)絡通信應用程序課程設計報告
- BCM通信協(xié)議棧設計.pdf
- 通信協(xié)議格式.xls
- 《基于android的簡單聊天通信軟件設計》課程設計報告
- 通信協(xié)議格式.xls
- 工控通信協(xié)議分析
- modbus通信協(xié)議教程
- modbus通信協(xié)議教程
評論
0/150
提交評論