網(wǎng)絡工程課程設計基于CS的簡單通信通信協(xié)議_第1頁
網(wǎng)絡工程課程設計基于CS的簡單通信通信協(xié)議_第2頁
網(wǎng)絡工程課程設計基于CS的簡單通信通信協(xié)議_第3頁
網(wǎng)絡工程課程設計基于CS的簡單通信通信協(xié)議_第4頁
網(wǎng)絡工程課程設計基于CS的簡單通信通信協(xié)議_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、學號 09730127網(wǎng)絡工程課程設計設計說明書基于c/s的簡單通信通信協(xié)議)起止日期:2012年7月2日至2012年7月13日學生姓名班級09網(wǎng)絡1成績指導教師(簽字)計算機與信息工程學院2012年7月13日天津城市建設學院課程設計任務書2011 2012 學年第 二 學期 電子與信息工程 系 網(wǎng)絡工程 專業(yè) 一 班級課程設計名稱: 網(wǎng)絡工程課程設計 設計題目: 基于c/s的簡單通信通信協(xié)議 完成期限:自 2012 年 7 月 2 日至 2012 年 7 月 13 日共 2 周設計依據(jù)、要求及主要內容:一、 設計目的了解網(wǎng)絡協(xié)議工作原理,并使用編程實現(xiàn)。二、設計要求 在本課程設計過程中要求學

2、生:(1)重視課程設計環(huán)節(jié),用嚴謹、科學和踏實的工作態(tài)度對待課程設計的每一項任務;(2)按照課程設計的題目要求,獨立地完成各項任務。(3)學生在接受設計任務后,根據(jù)要求認真完成。(4)認真編寫課程設計報告。三、設計內容寫一個軟件,并用此軟件實現(xiàn)某個網(wǎng)絡傳輸協(xié)議的功能指導教師(簽字): 教研室主任(簽字): 批準日期: 年 月 日摘 要本次課程設計完成一個簡單的通信協(xié)議,使用c+語言在基于對c/s模式了解的基礎上,并利用socket套接字完成這個協(xié)議。目錄第1章 程序定義1第2章 需求分析1第3章 程序設計13.1 開發(fā)環(huán)境及工具13.2結構設計13.2.1 client客戶端13.2.2服務器

3、端23.3詳細設計33.3.1系統(tǒng)數(shù)據(jù)結構3第4章 實驗結果6第5章 實驗心得7參考文獻7第1章 程序定義本程序采用tcp/ip協(xié)議的套接字功能完成,并在c/s模式的基礎上建立的,擁有一個server客戶端以及client客戶端,并能夠實現(xiàn)兩個客戶端的相互通信。第2章 需求分析socket通常也稱作套接字,用于描述ip地址、端口和傳輸協(xié)議,是一個通信鏈的句柄。ip地址是每個主機的網(wǎng)絡地址,是唯一的,同時程序端口號是應用軟件運行的編號,而傳輸協(xié)議是通信過程中所采用的傳輸協(xié)議,所以每個socket套接字是每個程序特定的編號。server建立的時候在監(jiān)聽整個網(wǎng)絡環(huán)境,當以相同socket套接字進行建

4、立連接請求的時候才會接受這種連接請求。每種服務都打開一個socket,并綁定到一個端口上,不同的端口對應于不同的服務。本程序是一個聊天程序,為了能過進行簡單的通信過程。第3章 程序設計3.1 開發(fā)環(huán)境及工具l 開發(fā)工具microsoft visual c+ 6.0l 開發(fā)語言c+3.2結構設計3.2.1 client客戶端3.2.2服務器端3.3詳細設計3.3.1系統(tǒng)數(shù)據(jù)結構client客戶端程序:#include #include #pragma comment(lib,ws2_32.lib)void main()word wversionrequested;wsadata wsadata;

5、int err;wversionrequested = makeword( 1, 1 );/請求1.1版本的winsock庫err = wsastartup( wversionrequested, &wsadata );if ( err != 0 ) return;if ( lobyte( wsadata.wversion ) != 1 | hibyte( wsadata.wversion ) != 1 ) wsacleanup( );return; socket sockclient=socket(af_inet,sock_dgram,0);sockaddr_in addrsrv;addrs

6、rv.sin_addr.s_un.s_addr=inet_addr(127.0.0.1);addrsrv.sin_family=af_inet;addrsrv.sin_port=htons(6000);char recvbuf100;char sendbuf100;char tempbuf200; int len=sizeof(sockaddr);while(1)printf(請輸入消息:n);gets(sendbuf);sendto(sockclient,sendbuf,strlen(sendbuf)+1,0,(sockaddr*)&addrsrv,len);recvfrom(sockcli

7、ent,recvbuf,100,0,(sockaddr*)&addrsrv,&len);sprintf(tempbuf,%s 說: %s,inet_ntoa(addrsrv.sin_addr),recvbuf);printf(%sn,tempbuf);closesocket(sockclient);wsacleanup();while(1);server客戶端程序:#include #include #pragma comment(lib,ws2_32.lib)void main()word wversionrequested;wsadata wsadata;int err;wversionr

8、equested = makeword( 1, 1 );/請求1.1版本的winsock庫err = wsastartup( wversionrequested, &wsadata );if ( err != 0 ) return;if ( lobyte( wsadata.wversion ) != 1 | hibyte( wsadata.wversion ) != 1 ) wsacleanup( );return; /加載完套接字的庫后,創(chuàng)建套接字 socket socksrv=socket(af_inet,sock_dgram,0);/將套接字綁定到地址sockaddr_in addrsr

9、v;addrsrv.sin_addr.s_un.s_addr=htonl(inaddr_any);addrsrv.sin_family=af_inet;addrsrv.sin_port=htons(6000);bind(socksrv,(sockaddr*)&addrsrv,sizeof(sockaddr); char recvbuf100;char sendbuf100;char tempbuf200;sockaddr_in addrclient;/獲取通訊方的地址信息int len=sizeof(sockaddr);while(1)recvfrom(socksrv,recvbuf,100,

10、0,(sockaddr*)&addrclient,&len);sprintf(tempbuf,%s 說: %s,inet_ntoa(addrclient.sin_addr),recvbuf);printf(%sn,tempbuf);printf(請輸入消息:n);gets(sendbuf);/獲取一行數(shù)據(jù),回車結束 sendto(socksrv,sendbuf,strlen(sendbuf)+1,0,(sockaddr*)&addrclient,len);closesocket(socksrv);wsacleanup();while(1);第4章 實驗結果 server客戶端client客戶端第5章 實驗心得通過此次的實驗,讓我對于socket網(wǎng)絡聊天類的使用有了更深入的了解,在關于網(wǎng)絡編程的方面也有了新的認識。雖然此程序的功能還比較的簡單,而且某些方面還沒能完善,但是,我相信我只是一個開始。課程設計是每一個大學生在大學生涯中都不可或缺的,它使我們在實踐中了 鞏固了所學的知識、在實踐中鍛煉自己的動手能力;實習又是對每一位大學生所 學專業(yè)知識的一種拓展手段, 它讓我們學到了很多在課

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論