




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
東南大學自動化學院實驗報告課程名稱:信息通信網絡概論第1次實驗實驗名稱:TCP/IP協議與Socket編程認識實驗院(系):自動化專業:自動化姓名:學號:實驗室:金智樓5樓實驗組別:同組人員:實驗時間:2016年11月29日評定成績:審閱教師:目錄一.實驗目的和要求·····································3二.實驗原理···········································3三.實驗方案與實驗步驟·································5四.實驗設備與器材配置·································7五.實驗記錄···········································7六.實驗總結···········································9七.思考題或討論題·····································9附錄:部分代碼實驗目的和要求熟悉TCP/IP協議的功能和網絡操作;了解基于SOCKET的編程原理;編寫一個小型的Socket實用程序,初步了解Windows環境下使用Socket的編程。實驗原理什么是WindowsSockets規范?WindowsSockets規范以U.C.Berkeley大學BSDUNIX中流行的Socket接口為范例定義了一套MicosoftWindows下網絡編程接口。它不僅包含了人們所熟悉的BerkeleySocket風格的庫函數;也包含了一組針對Windows的擴展庫函數,以使程序員能充分地利用Windows消息驅動機制進行編程。WindowsSockets規范本意在于提供給應用程序開發者一套簡單的API,并讓各家網絡軟件供應商共同遵守。此外,在一個特定版本Windows的基礎上,WindowsSockets也定義了一個二進制接口(ABI),以此來保證應用WindowsSocketsAPI的應用程序能夠在任何網絡軟件供應商的符合WindowsSockets協議的實現上工作。因此這份規范定義了應用程序開發者能夠使用,并且網絡軟件供應商能夠實現的一套庫函數調用和相關語義。遵守這套WindowsSockets規范的網絡軟件,我們稱之為WindowsSockets兼容的,而WindowsSockets兼容實現的提供者,我們稱之為WindowsSockets提供者。一個網絡軟件供應商必須百分之百地實現WindowsSockets規范才能做到現WindowsSockets兼容。任何能夠與WindowsSockets兼容實現協同工作的應用程序就被認為是具有WindowsSockets接口。我們稱這種應用程序為WindowsSockets應用程序。WindowsSockets規范定義并記錄了如何使用API與Internet協議族(IPS,通常我們指的是TCP/IP)連接,尤其要指出的是所有的WindowsSockets實現都支持流套接口和數據報套接口.應用程序調用WindowsSockets的API實現相互之間的通訊。WindowsSockets又利用下層的網絡通訊協議功能和操作系統調用實現實際的通訊工作。它們之間的關系如圖1-1。Winsock編程模型建立socket。程序使用socket進行網絡時,必須先建立一個socket。為了建立一個socket,成需要調用socket函數。例子:socket_handle=socket(protocol_family,_socket_type,protocol);配置一個socket。為了配置一個,程序可使用WinsockAPI中不同的函數。一般來講,每個socket需要五種信息:本地和遠地機的IP地址,本地和遠地進程的協議端口,聯接上使用的協議。連接一個socket。面向連接客戶程序必須提供給Socket的唯一地址信息是遠地主機信息—IP地址和協議端口。使用一個Socket,程序能夠使用WinsockAPI在一個配置好的Socket上傳送和接收數據。I/O函數如下:Send,通過連接的Socket傳送數據,使用特殊的標志控制Socket的行為。Sendto,將數據傳送給Socket地址結構指定的主機,傳送時使用一個簡單的報文緩沖區。Recvfrom,從Socket接收數據,選擇發送主機的網絡地址,傳送時使用一個簡單的報文緩沖區。使用一個連接的Socket。由于Send函數不能指定目的地址,因此,程序只能在連接的Socket上使用它。也就是說,在程序使用Send函數之前,必須建立一個Socket。使用一個無連接的Socket。當沒有建立Socket連接時,上述的Send函數便不能使用,這是需要用Sendto函數。實驗方案與實驗步驟(請繪制流程圖)實驗方案圖3.1實驗步驟流程圖圖3.2算法流程圖實驗步驟網絡程序初始化,服務器和客戶端WinSockAPI均要求在調用其他WinSock函數以前先調用WSAStartUp函數初始化。創建套接字Socket()。配置并啟動套接字。通過Socket發送和接收數據。程序結束時必須關閉Socket,使用與WSAStartUp()相對應的函數WSACleanUp(),釋放所分配的內部緩沖區和其他資源。實驗設備與器材配置電腦,VC6.0實驗記錄界面輸入為Url,輸出為Ip,且顯示IP地址類型;輸入為Ip,輸出為Url;圖5.1設計界面功能描述實現Url轉換為Ip,即通過給定域名得到IP地址。通過Gethostbyname()函數實現。如圖5.2所示,輸入域名,將得到IP地址為1。實現Ip轉換為Url,即通過給定域名得到IP地址。通過Gethostbya()函數實現。輸入上述得到的IP地址1,得到域名,可見一個IP地址可對應不同的域名。圖5.2功能實現改進(1)判斷當前IP地址的分類為A型、B型或C型。通過判斷32位二進制IP地址的網絡號,若網絡號在0~127之間,則為A類地址;若網絡號在128~191之間,則為B類地址;若網絡號在192~223之間,則為C類地址;若網絡號在224~255之間,則為D類地址;其他為E類地址。如圖5.3所示,可以實現對不同IP地址的判斷區分。圖5.3判斷IP地址類別實驗總結通過本次學習,我對建立一個工程和搭接MFC界面有了非常深入的理解,能夠自己設計界面并建立控件和函數直接的聯系以及建立edit框和變量之間的聯系。理解并掌握了域名轉換成IP、IP轉換成域名的過程,能夠運用相關函數gethostbyaddr()、Gethostbyname()、inet_addr()、inet_ntoa()實現兩個轉換過程,并在此基礎上,通過判斷32位IP地址的網絡號判斷出了該IP地址的類型,實現了改進。對于IP協議和Socket編程有了更加全面的認識,相信以后在遇到此類問題時能夠得心應手的解決問題。思考題或討論題Chrome,IE,FireFox,safari四款瀏覽器核心評測對比。Chrome不易崩潰,反應速度快,搜索簡單,標簽靈活,安全性強。目前網上支付還不支持chrome。另外有些google服務被國內屏蔽,不能整合使用。對那些不符合W3C標準的網站不能很好地顯示,它只提供對標準的支持。另外,有些網站(比如網銀)采用了ActiveX技術,那是微軟特有的技術,只在IE內核上能運行,所以谷歌瀏覽器支持不了。它的自動同步功能和插件安裝功能經常無法訪問。IE瀏覽器系統自帶的瀏覽器兼容性好,界面清新簡潔。但是長期以來沒有太大的變化,功能中規中矩,安全漏洞不定時出現。FireFox可以自定義,可以修改連接速度,響應速度,可以修改內置參數,有許許多多的插件供你使用,可以支持各種下載工具,方便快捷。應用范圍很廣,全世界性的。但是會出現網頁錯位,瀏覽網頁會出現結構不準確的情況,對在線媒體的支持不完美。Safari對彈出式廣告的屏蔽很好。但是無法自動新建標簽頁,對中文的支持還不夠好,使用Safari自帶的下載工具下載中文名的文件必定亂碼。無法與迅雷,快車等下載軟件關聯。對比:界面布局名稱測試版本界面美觀度界面整潔性菜單易用性IE瀏覽器IE11★★★★★★★★ChromeChrome46★★★★★★★★★★★FireFoxFirefox42★★★★★★★★★★SafariSafari5★★★★★★★內存占有率名稱測試版本內存占用CPUIE瀏覽器IE113%38.9ChromeChrome464.6%33.5FireFoxFirefox422%20.2SafariSafari57%42.1winsock和winlnet有哪些區別。winsockWinsock,工作于網絡層和傳輸層的開發庫,對于編寫TCP,UDP,以及原始IP通信程序非常合適。函數原形也基本符合Unixsocket標準。Windows平臺上的大多數程序,如QQ,訊雷等都基于其開發。winInetWinInet,WindowsInternet擴展庫,工作于應用協議層,提供了http,ftp,gopher協議的實現,為基于以上三種協議的程序開發提供基礎平臺,需要說明的是,盡管WinInet工作于應用層,但其本身wininet.dll的實現并不依賴于winsock.dll或ws2_32.dll,而是獨立存在的。至少目前的版本是這樣。基于WinInet的應用程序最著名的例子就是IE了。附錄:(部分代碼)URL轉換IPvoidCMyDlg::OnOk1(){ //TODO:Addyourcontrolnotificationhandlercodehere WSADATAwsaData; LPHOSTENTlpHostEnt;//該結構包含主機的ip; if(WSAStartup(0X0101,&wsaData))//若初始化成功則返回0;相當于應用程序與dll //之間的連接初始化,然后才能使用winsockapi的函數 MessageBox("Couldnotloadwindowssocketsdll.",NULL,MB_OK|MB_ICONSTOP); else {UpdateData(TRUE);//用于將屏幕上控件中的數據交換到變量中。//TODO:此處需要自己添加函數,由對話框中輸入的主機名m_Url1得到對應的包含主機ip的結構變量lpHostEnt//例如:輸入的是,得到包含對應IP為11000000001000000100000000000010的結構變量lpHostEnt=gethostbyname(m_Url1);if(!lpHostEnt) MessageBox("Couldnotgetipaddress.",NULL,MB_OK|MB_ICONSTOP); else {DWORDaddr;DWORDa;//TODO:此處需要自己添加函數,把lpHostEnt結構中成員變量h_addr_list包含的網絡位順序的IPv4地址轉化為常見的點間隔格式IP以供顯示//例如:輸入的是11000000001000000100000000000010,得到m_Ip1=inet_ntoa(*(LPIN_ADDR)*(lpHostEnt->h_addr_list));UpdateData(FALSE);//用于將數據在屏幕中對應控件中顯示出來。addr=inet_addr(m_Ip1);a=addr>>24;if(a<=127){ type="A類地址"; UpdateData(FALSE);}elseif(a>=128&&a<=191){ type="B類地址"; UpdateData(FALSE);}elseif(a>=192&&a<=223){ type="C類地址"; UpdateData(FALSE);}elseif(a>=224&&a<=255){type="D類地址"; UpdateData(FALSE);}else{ type="E類地址"; UpdateData(FALSE);} } } WSACleanup();}IP轉換URLvoidCMyDlg::OnOK2(){//TODO:AddyourcontrolnotificationhandlercodehereWSADATAwsaData;LPHOSTENTlpHostEnt;DWORDdwIPAddr;if(WSAStartup(0x0101,&wsaData)) MessageBox("Couldnotloadwindowssocketsdll.",NULL,MB_OK|MB_ICONSTOP); else {UpdateData(TRUE);//用于將屏幕上控件中的數據交換到變量中。//TODO:此處需要自己添加函數,由對話框中輸入的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JG/T 36-1999編寫土方機械使用說明書的一般規定
- JG/T 198-2007建筑對象數字化定義
- DZ/T 0276.10-2015巖石物理力學性質試驗規程第10部分:巖石膨脹性試驗
- DZ/T 0101.8-1994地質儀器儀表制造時間定額沖壓
- DZ/T 0006-1991地質勘查規程規范編寫規定
- DZ 0004-1991重力調查技術規定(1∶50 000)
- CJ/T 109-2007潛水攪拌機
- 基礎知識的軟件評測師試題及答案
- 軟件評測師考點深度解析試題及答案
- 多媒體設計師的職業生涯與行業發展方向試題及答案
- 裝修公司合同保密協議書
- 2025-2030中國公路建設行業發展分析及發展前景與趨勢預測研究報告
- 2025購銷茶葉合同范本
- 戶外場地安全課件
- 研究我國平臺企業在社會責任履行及其治理機制的現狀與問題
- 叉車使用安全協議書
- ai訓練師面試題及答案
- 安全管理:承包商安全管理制度(模板)
- 2025年湖北省新華書店(集團)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年宣城郎溪開創控股集團有限公司下屬子公司招聘12人筆試參考題庫附帶答案詳解
- 陜09J01 建筑用料及做法圖集
評論
0/150
提交評論