版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
目錄任務目標01相關知識點02任務實施03任務目標(1)了解TCP協(xié)議的特點。(2)理解套接字工作原理。(3)會建立面向連接的Socket(TCP方式)通信方式。相關知識1、Socket簡介(1)Socket的英文原義是“孔”或“插座”。作為通信機制,Socket通常也稱作"套接字",用于描述IP地址和端口,是一個通信鏈的句柄,用來實現(xiàn)不同虛擬機或不同計算機之間的通信。網(wǎng)絡上的兩個計算機(或程序)通過一個雙向的通信連接實現(xiàn)數(shù)據(jù)的交換,這個連接的一端稱為一個socket。(2)Socket是支持TCP/IP協(xié)議的網(wǎng)絡通信的基本操作單元,它是網(wǎng)絡通信過程中端點的抽象表示,包含進行網(wǎng)絡通信必須的五種信息:連接使用的協(xié)議、本地主機的IP地址、本地進程的協(xié)議端口、遠地主機的IP地址和遠地進程的協(xié)議端口。(3)在Internet上的主機一般運行了多個服務軟件,同時提供幾種服務。每種服務都打開一個Socket,并綁定到一個端口上,不同的端口對應于不同的服務。相關知識2、Socket通信流程使用Socket通信流程如圖6-12所示。首先建立一個套接字,并綁定本機的IP和端口作為服務器端,使用Listen()方法來監(jiān)聽網(wǎng)絡上是否有客戶端給服務器端發(fā)送數(shù)據(jù)。然后建立客戶端套接字連接服務器端。服務端監(jiān)聽到客戶端連接請求,使用accept來接收這個連接,最后就可以利用Send/Receive來執(zhí)行操作了。相關知識圖6-12Socket通信流程圖相關知識任務實施1.開發(fā)內(nèi)容本任務實現(xiàn)服務器端和客戶端的通信,程序設計包括服務器端和客戶端兩個方面。1)服務器端開發(fā)流程(1)創(chuàng)建SocketSever控制臺程序。(2)引入命名空間System.Net.Sockets。(3)根據(jù)圖6-12給出的服務器端系統(tǒng)通信流程編寫代碼。服務器端參考代碼如下:
任務實施服務器端privatevoidbutton1_Click(objectsender,EventArgse)namespaceSocketSever{classProgram{staticvoidMain(string[]args){SocketlocalSocket=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);//建立服務器端SocketIPEndPointiep=newIPEndPoint(IPAddress.Parse(""),1000);//服務器端IP端口1000localSocket.Bind(iep);//綁定本機的IP和端口localSocket.Listen(10);//監(jiān)聽Console.WriteLine("服務端開始監(jiān)聽。。。。");SocketclientSocket=localSocket.Accept();//當有可用的客戶端連接嘗試時執(zhí)行,并返回一個新的socket,用于與客戶端之間的通信byte[]bys=newbyte[1024];//存放服務端接收到客戶端的信息Console.WriteLine("客戶端已連接");clientSocket.Send(Encoding.Default.GetBytes("welcome"));//服務器端向客戶端發(fā)送消息"welcome"while(true){intrecv=clientSocket.Receive(bys);//Socket讀取數(shù)據(jù)if(recv==0)//當客戶端主動自愿斷開連接時recv=0break;Console.WriteLine(Encoding.Default.GetString(bys,0,recv));//輸出接收到客戶端的信息}clientSocket.Close();localSocket.Close();//關閉服務端}}}任務實施2)客戶端開發(fā)流程(1)創(chuàng)建SocketClient控制臺程序。(2)引入命名空間System.Net.Sockets。(3)根據(jù)圖6-12給出的客戶端流程圖編寫代碼。客戶端參考代碼如下:
任務實施客戶端
/*同步TCP通信客戶端*/namespaceSocketClient{classProgram{staticvoidMain(string[]args){IPAddressremoteHost=IPAddress.Parse("");//建立一個套接字IPEndPointiep=newIPEndPoint(remoteHost,1000);/*服務器地址與端口*/SocketlocalSocket=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);/*客戶端Socket*/localSocket.Connect(iep);/*連接服務器端*/byte[]bys=newbyte[1024];/*存放服務器發(fā)送的數(shù)據(jù)*/intrecv=localSocket.Receive(bys);/*客戶端接收服務器數(shù)據(jù)*/stringstr=Encoding.Default.GetString(bys,0,recv);/*將服務器返回數(shù)據(jù)轉(zhuǎn)化成字符串*/Console.WriteLine(str);/*顯示服務器返回數(shù)據(jù)*/stringmsg;/*聲明存放用戶輸入的信息*/do{msg=Console.ReadLine();/*獲取輸入數(shù)據(jù)*/bys=Encoding.Default.GetBytes(msg);/*將字符串轉(zhuǎn)化成byte數(shù)組輸出*/localSocket.Send(bys);/*向服務器端發(fā)送數(shù)據(jù)*/}while(msg!="exit");/*當輸入exit自愿斷開連接*//*禁止下次數(shù)據(jù)讀取和寫入?yún)?shù):SocketShutdown.Receive禁止下次數(shù)據(jù)讀取SocketShutdown.Send禁止下次數(shù)據(jù)寫入*/localSocket.Shutdown(SocketShutdown.Both);/*在關閉客戶端Socket*/localSocket.Close();}}}結(jié)果驗證分別啟動服務器端和客戶端程序,在客戶端輸入helloSever,按回車鍵,服務端中顯示客戶端所發(fā)送的消息,如圖6-13所示。圖6-13客戶端向服務端發(fā)送數(shù)據(jù)感謝觀看THANKYOUPleasereplacetext,clickaddrelevantheadline,modifythetextcontent,alsocancopyyourcontenttothisdirectly.Pleasereplacetext,clickaddrelevanthea
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源汽車批量訂購合同4篇
- 2025年度體育賽事代理運營管理合同樣本4篇
- 2025年度生態(tài)停車場車位購置協(xié)議4篇
- 生物活性營養(yǎng)土項目可行性研究報告模板范文(立項備案項目申請)
- 2025年新生入學教育法律協(xié)議書(綜合服務)3篇
- 2025年度個人信用評分服務協(xié)議3篇
- 2025年度個人股權(quán)交易合同范本:股權(quán)轉(zhuǎn)讓流程與稅務籌劃4篇
- 2025年度企業(yè)項目合作協(xié)議范本4篇
- 2025年浙江澤興環(huán)保工程有限公司招聘筆試參考題庫含答案解析
- 二零二五年度林業(yè)生態(tài)恢復苗木采購合同文本4篇
- 安徽省合肥市包河區(qū)2023-2024學年九年級上學期期末化學試題
- 《酸堿罐區(qū)設計規(guī)范》編制說明
- PMC主管年終總結(jié)報告
- 售樓部保安管理培訓
- 倉儲培訓課件模板
- 2025屆高考地理一輪復習第七講水循環(huán)與洋流自主練含解析
- GB/T 44914-2024和田玉分級
- 2024年度企業(yè)入駐跨境電商孵化基地合作協(xié)議3篇
- 《形勢與政策》課程標準
- 2023年海南省公務員錄用考試《行測》真題卷及答案解析
- 橋梁監(jiān)測監(jiān)控實施方案
評論
0/150
提交評論