九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

湖南科技大學(xué)計算機(jī)網(wǎng)絡(luò)課程設(shè)計報告.doc

  • 資源ID:9460365       資源大?。?span id="24d9guoke414" class="font-tahoma">58.50KB        全文頁數(shù):9頁
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

湖南科技大學(xué)計算機(jī)網(wǎng)絡(luò)課程設(shè)計報告.doc

計算機(jī)網(wǎng)絡(luò)課程設(shè)計報告姓名: 學(xué)號: 班級: 指導(dǎo)老師: 湖南科技大學(xué)計算機(jī)科學(xué)與工程學(xué)院2016年 1 月網(wǎng)絡(luò)聊天程序的設(shè)計與實現(xiàn)一、 課程設(shè)計題目了解Socket通信的原理,在此基礎(chǔ)上編寫一個聊天程序。二、 課程設(shè)計內(nèi)容1TCP/IP協(xié)議與WinSock網(wǎng)絡(luò)編程接口的關(guān)系WinSock 并不是一種網(wǎng)絡(luò)協(xié)議,它只是一個網(wǎng)絡(luò)編程接口,也就是說,它不是協(xié)議,但是它可以訪問很多種網(wǎng)絡(luò)協(xié)議,你可以把它當(dāng)作一些協(xié)議的封裝?,F(xiàn)在的 WinSock已經(jīng)基本上實現(xiàn)了與協(xié)議無關(guān)。你可以使用WinSock來調(diào)用多種協(xié)議的功能。那么,WinSock和TCP/IP協(xié)議到底是什么關(guān)系呢?實際上,WinSock就是TCP/IP協(xié)議的一種封裝,你可以通過調(diào)用WinSock的接口函數(shù)來調(diào)用TCP/IP的各種功能.例如我想用TCP/IP 協(xié)議發(fā)送數(shù)據(jù),你就可以使用WinSock的接口函數(shù)Send()來調(diào)用TCP/IP的發(fā)送數(shù)據(jù)功能,至于具體怎么發(fā)送數(shù)據(jù),WinSock已經(jīng)幫你封裝好了這種功能。2. WinSock編程簡單流程WinSock編程分為服務(wù)器端和客戶端兩部分,TCP服務(wù)器端的大體流程如下:對于任何基于WinSock的編程首先必須要初始化WinSock DLL庫。int WSAStarup( WORD wVersionRequested,LPWSADATA lpWsAData )。wVersionRequested是我們要求使用的WinSock的版本。調(diào)用這個接口函數(shù)可以初始化WinSock 。然后必須創(chuàng)建一個套接字(Socket)。SOCKET Socket(int af,int type,int protocol);套接字可以說是WinSock通訊的核心。WinSock通訊的所有數(shù)據(jù)傳輸,都是通過套接字來完成的,套接字包含了兩個信息,一個是IP地址,一個是Port端口號,使用這兩個信息,就可以確定網(wǎng)絡(luò)中的任何一個通訊節(jié)點(diǎn)。當(dāng)調(diào)用了Socket()接口函數(shù)創(chuàng)建了一個套接字后,必須把套接字與你需要進(jìn)行通訊的地址建立聯(lián)系,可以通過綁定函數(shù)bind來實現(xiàn)這種聯(lián)系。int bind(SOCKET s,const struct sockaddr FAR* name,int namelen) ;struct sockaddr_inshort sin_family ;u_short sin_port;struct in_addr sin_addr ;char sin_sero8 ;就包含了需要建立連接的本地的地址,包括地址族、IP和端口信息。sin_family字段必須把它設(shè)為AF_INET,這是告訴WinSock使用的是IP地址族。sin_port就是要用來通訊的端口號。sin_addr就是要用來通訊的IP地址信息。在這里,必須還得提一下有關(guān)大頭(big-endian)小頭(little-endian)。因為各種不同的計算機(jī)處理數(shù)據(jù)時的方法是不一樣的,Intel X86處理器上是用小頭形式來表示多字節(jié)的編號,就是把低字節(jié)放在前面,把高字節(jié)放在后面,而互聯(lián)網(wǎng)標(biāo)準(zhǔn)卻正好相反,所以,必須把主機(jī)字節(jié)轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)的順序。WinSock API提供了幾個函數(shù)。把主機(jī)字節(jié)轉(zhuǎn)化成網(wǎng)絡(luò)字節(jié)的函數(shù);u_long htonl(u_long hostlong);u_short htons(u_short hostshort);把網(wǎng)絡(luò)字節(jié)轉(zhuǎn)化成主機(jī)字節(jié)的函數(shù);u_long ntohl(u_long netlong);u_short ntohs(u_short netshort) ;這樣,設(shè)置IP地址和port端口時,就必須把主機(jī)字節(jié)轉(zhuǎn)化成網(wǎng)絡(luò)字節(jié)后,才能用Bind()函數(shù)來綁定套接字和地址。當(dāng)綁定完成之后,服務(wù)器端必須建立一個監(jiān)聽的隊列來接收客戶端的連接請求。int listen(SOCKET s,int backlog);這個函數(shù)可以把套接字轉(zhuǎn)成監(jiān)聽模式。如果客戶端有了連接請求,我們還必須使用int accept(SOCKET s,struct sockaddr FAR* addr,int FAR* addrlen);來接受客戶端的請求?,F(xiàn)在基本上已經(jīng)完成了一個服務(wù)器的建立,而客戶端的建立的流程則是初始化WinSock,然后創(chuàng)建Socket套接字,再使用int connect(SOCKET s,const struct sockaddr FAR* name,int namelen) ;來連接服務(wù)端。計算機(jī)網(wǎng)絡(luò)(第6版)295頁圖6-32所示的系統(tǒng)調(diào)用使用順序:3VC中socket編程步驟服務(wù)器端編程的步驟:1:加載套接字庫,創(chuàng)建套接字(WSAStartup()/socket();2:綁定套接字到一個IP地址和一個端口上(bind();3:將套接字設(shè)置為監(jiān)聽模式等待連接請求(listen();4:請求到來后,接受連接請求,返回一個新的對應(yīng)于此次連接的套接字(accept();5:用返回的套接字和客戶端進(jìn)行通信(send()/recv();6:返回,等待另一連接請求;7:關(guān)閉套接字,關(guān)閉加載的套接字庫(closesocket()/WSACleanup()??蛻舳司幊痰牟襟E:1:加載套接字庫,創(chuàng)建套接字(WSAStartup()/socket();2:向服務(wù)器發(fā)出連接請求(connect();3:和服務(wù)器端進(jìn)行通信(send()/recv();4:關(guān)閉套接字,關(guān)閉加載的套接字庫(closesocket()/WSACleanup()。三、 結(jié)果及結(jié)果分析服務(wù)器端:客服端:客戶端發(fā)送hello,服務(wù)器端接收hello;然后服務(wù)器端發(fā)送hi,客戶端接收hi??蛻羰褂胹end發(fā)送請求,而服務(wù)器使用send發(fā)送回答。服務(wù)器使用recv接收客戶用send調(diào)用發(fā)送的請求??蛻粼诎l(fā)完請求后用recv接收回答。在調(diào)試過程中,曾輸出了“燙燙燙燙燙燙燙燙燙燙燙燙”。先將服務(wù)器端設(shè)為活動工程,再運(yùn)行,然后將客戶端設(shè)為活動工程,再運(yùn)行,即可。由于程序的缺陷,當(dāng)運(yùn)行多個客戶端時,多個客戶端競爭與服務(wù)器端連接,僅能一個客戶端與服務(wù)器端相連。基于IP多播的網(wǎng)絡(luò)會議程序一、 課程設(shè)計題目設(shè)計一個圖形界面的網(wǎng)絡(luò)會議程序(實現(xiàn)文本多播方式即可)。二、 課程設(shè)計內(nèi)容在局域網(wǎng)中,管理員常常需要將某條信息發(fā)送給一組用戶。如果使用一對一的發(fā)送方法,雖然是可行的,但是過于麻煩,也常會出現(xiàn)漏發(fā)、錯發(fā)。為了更有效的解決這種組通信問題,出現(xiàn)了一種多播技術(shù)(也常稱為組播通信),它是基于IP層的通信技術(shù)。眾所周知,普通IP通信是在一個發(fā)送者和一個接收者之間進(jìn)行的,我們常把它稱為點(diǎn)對點(diǎn)的通信,但對于有些應(yīng)用,這種點(diǎn)對點(diǎn)的通信模式不能有效地滿足實際應(yīng)用的需求。廣播也是一種實現(xiàn)一對多數(shù)據(jù)通信的模式,但廣播與多播在實現(xiàn)方式上有所不同。廣播是將數(shù)據(jù)從一個工作站發(fā)出,局域網(wǎng)內(nèi)的其他所有工作站都能收到它。這一特征適用于無連接協(xié)議,因為LAN上的所有機(jī)器都可獲得并處理廣播消息。使用廣播消息的不利之處是每臺機(jī)器都必須對該消息進(jìn)行處理。多播通信則不同,數(shù)據(jù)從一個工作站發(fā)出后,如果在其它LAN上的機(jī)器上面運(yùn)行的進(jìn)程表示對這些數(shù)據(jù)"有興趣",多播數(shù)據(jù)才會發(fā)給它們。編程步驟1、啟動Visual C+6.0,創(chuàng)建一個控制臺項目工程MultiCase。#define MCASTADDR "233.0.0.1" /多播組地址#define MCASTPORT 5150 /本地端口號Receiver項目實現(xiàn)步驟:(1)、創(chuàng)建一個SOCK_DGRAM類型的Socket。(2)、將此Socket綁定到本地的一個端口上,為了接收服務(wù)器端發(fā)送的多播數(shù)據(jù)。local.sin_family = AF_INET;local.sin_port = htons(MCASTPORT);local.sin_addr.s_addr = INADDR_ANY;if( bind(sock,(struct sockaddr*)&local,sizeof(local) = SOCKET_ERROR )printf( "bind failed with:%d n",WSAGetLastError();closesocket(sock);WSACleanup();return -1; (3)、加入多播組。remote.sin_family = AF_INET;remote.sin_port = htons(MCASTPORT);remote.sin_addr.s_addr = inet_addr( MCASTADDR );mcast.imr_multiaddr.s_addr = inet_addr(MCASTADDR);mcast.imr_interface.s_addr = INADDR_ANY;if( setsockopt(sockM,IPPROTO_IP,IP_ADD_MEMBERSHIP,(char*)&mcast,sizeof(mcast) = SOCKET_ERROR) printf("setsockopt(IP_ADD_MEMBERSHIP) failed:%dn",WSAGetLastError(); closesocket(sockM); WSACleanup(); return -1;(4)、接收多播數(shù)據(jù)。Sender實現(xiàn)步驟:(1)、創(chuàng)建一個SOCK_DGRAM類型的Socket。(2)、加入多播組。remote.sin_family = AF_INET;remote.sin_port = htons(MCASTPORT);remote.sin_addr.s_addr = inet_addr( MCASTADDR );if( sockM = WSAJoinLeaf(sock,(SOCKADDR*)&remote, sizeof(remote),NULL,NULL,NULL,NULL, JL_BOTH) = INVALID_SOCKET)printf("WSAJoinLeaf() failed:%dn",WSAGetLastError();closesocket(sock);WSACleanup();return -1;(3)、發(fā)送多播數(shù)據(jù)。2、編譯兩個項目,在局域網(wǎng)中按如下步驟測試:(1)、將Sender.exe拷貝到發(fā)送多播數(shù)據(jù)的上。(2)、將Receiver.exe拷貝到多個要求接收多播數(shù)據(jù)的上。(3)、各自運(yùn)行相應(yīng)的程序。(4)、在Sender PC上輸入多播數(shù)據(jù)后,你就可以在Receiver PC上看到輸入的多播數(shù)據(jù)。三、結(jié)果及結(jié)果分析Sender:Receiver:Sender與receiver只要綁定相同的多播組地址和端口號,sender就可以向多個receiver發(fā)送信息,receiver也可以接收多個sender發(fā)出的信息。在此只列出一個sender向receiver發(fā)送信息的情況。Tracert與Ping程序設(shè)計與實現(xiàn)一、 課程設(shè)計題目了解Tracert程序的實現(xiàn)原理,并調(diào)試通過。然后參考Tracert程序和教材4.4.2節(jié),編寫一個Ping程序,并能測試本局域網(wǎng)的所有機(jī)器是否在線,運(yùn)行Ping程序。二、 課程設(shè)計內(nèi)容實現(xiàn)原理Tracert程序關(guān)鍵是對IP頭部生存時間(time to live)TTL字段的使用,程序?qū)崿F(xiàn)時是向目地主機(jī)發(fā)送一個ICMP回顯請求消息,初始時TTL等于1,這樣當(dāng)該數(shù)據(jù)報抵達(dá)途中的第一個路由器時,TTL的值就被減為0,導(dǎo)致發(fā)生超時錯誤,因此該路由生成一份ICMP超時差錯報文返回給源主機(jī)。隨后,主機(jī)將數(shù)據(jù)報的TTL值遞增1,以便IP報能傳送到下一個路由器,并由下一個路由器生成ICMP超時差錯報文返回給源主機(jī)。不斷重復(fù)這個過程,直到數(shù)據(jù)報達(dá)到最終的目地主機(jī),此時目地主機(jī)將返回ICMP回顯應(yīng)答消息。這樣,源主機(jī)只需對返回的每一份ICMP報文進(jìn)行解析處理,就可以掌握數(shù)據(jù)報從源主機(jī)到達(dá)目地主機(jī)途中所經(jīng)過的路由信息。三、 結(jié)果及結(jié)果分析Tracert程序結(jié)果:輸出數(shù)據(jù)包往返時間及IP地址心得體會 通過本次的課程設(shè)計中對計算機(jī)程序?qū)崿F(xiàn)的編寫與對網(wǎng)絡(luò)的某些功能的模擬,本應(yīng)更好地理解并掌握計算機(jī)網(wǎng)絡(luò)的基本工作原理和工作過程,以及更好地理解應(yīng)用程序和操作系統(tǒng)之間傳遞控制權(quán)的機(jī)制。但是,由于對計算機(jī)網(wǎng)絡(luò)的基本原理掌握得不好,及對C語言的生疏,不能很好地利用原理去分析代碼、編寫代碼。因此,不能很好地達(dá)到本來的課程設(shè)計目的。不過也使我了解了套接字socket的創(chuàng)建和運(yùn)用。要注重平時的知識積累,培養(yǎng)查閱技術(shù)文獻(xiàn)、資料及手冊的能力,多動手實踐,提高實際編程能力和靈活運(yùn)用所學(xué)知識解決問題的能力。

注意事項

本文(湖南科技大學(xué)計算機(jī)網(wǎng)絡(luò)課程設(shè)計報告.doc)為本站會員(jian****018)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!