版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Socket技術(shù)要點(diǎn)總結(jié)1、什么是TCP/IP、UDP,它的結(jié)構(gòu)是什么? 1.1 TCP/IP(Transmission Control Protocol/Internet Protocol)即傳輸控制協(xié)議/網(wǎng)間協(xié)議,是一個(gè)工業(yè)標(biāo)準(zhǔn)的協(xié)議集,它是為廣域網(wǎng)(WANs)設(shè)計(jì)的。TCP 是傳輸控制協(xié)議,是一個(gè)面向連接的協(xié)議,為用戶(hù)進(jìn)程提供可靠的全雙工字節(jié)流。TCP 套接字是一種流套接字(stream socket).TCP關(guān)心確認(rèn),超時(shí)和重傳之類(lèi)的細(xì)節(jié)。大多數(shù)網(wǎng)絡(luò)應(yīng)用程序都在使用TCP。注意:TCp既可以使用IPv4,也可以使用IPv6.1.2 UDP(User Data Protocol
2、,用戶(hù)數(shù)據(jù)報(bào)協(xié)議)是與TCP相對(duì)應(yīng)的協(xié)議。它是屬于TCP/IP協(xié)議族中的一種。UDP是一個(gè)無(wú)連接協(xié)議,UDP套接字是一種數(shù)據(jù)報(bào)套接字(datagram socket)。UDP數(shù)據(jù)報(bào)不能保證最終到達(dá)它們的目的地。和TCP一樣,UDP既可以使用IPv4,也可以使用ipv6.1.3 TCP和UDP的區(qū)別?可靠性在TCP/IP協(xié)議中,TCP協(xié)議通過(guò)三次握手建立一個(gè)可靠的連接(像打電話(huà))第一次握手:客戶(hù)端嘗試連接服務(wù)器,向服務(wù)器發(fā)送syn包(同步序列編號(hào)Synchronize Sequence Numbers),syn=j,客戶(hù)端進(jìn)入SYN_SEND狀態(tài)等待服務(wù)器確認(rèn)第二次握手:服務(wù)器接收客戶(hù)端syn包
3、并確認(rèn)(ack=j+1),同時(shí)向客戶(hù)端發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài)第三次握手:第三次握手:客戶(hù)端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶(hù)端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手定睛一看,服務(wù)器socket與客戶(hù)端socket建立連接的部分其實(shí)就是大名鼎鼎的三次握手而UDP是不可靠的連接,像是寫(xiě)信,對(duì)方不一定能夠收到信的內(nèi)容;1.4 TCP/IP、UDP 的分層: 由上可以看到TCP/IP協(xié)議族包括應(yīng)用層、運(yùn)輸層、網(wǎng)絡(luò)層、鏈路層。2. socket 2.1 套接字
4、(socket)概念套接字(socket)是通信的基石,是支持TCP/IP協(xié)議的網(wǎng)絡(luò)通信的基本操作單元。 應(yīng)用層通過(guò)傳輸層進(jìn)行數(shù)據(jù)通信時(shí),TCP會(huì)遇到同時(shí)為多個(gè)應(yīng)用程序進(jìn)程提供并發(fā)服務(wù)的問(wèn)題。多個(gè)TCP連接或多個(gè)應(yīng)用程序進(jìn)程可能需要通過(guò)同一個(gè) TCP協(xié)議端口傳輸數(shù)據(jù)。為了區(qū)別不同的應(yīng)用程序進(jìn)程和連接,許多計(jì)算機(jī)操作系統(tǒng)為應(yīng)用程序與TCPIP協(xié)議交互提供了套接字(Socket)接口。應(yīng)用層可以和傳輸層通過(guò)Socket接口,區(qū)分來(lái)自不同應(yīng)用程序進(jìn)程或網(wǎng)絡(luò)連接的通信,實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù)。2.2 建立socket連接建立Socket連
5、接至少需要一對(duì)套接字,其中一個(gè)運(yùn)行于客戶(hù)端,稱(chēng)為ClientSocket,另一個(gè)運(yùn)行于服務(wù)器端,稱(chēng)為ServerSocket。套接字之間的連接過(guò)程分為三個(gè)步驟:服務(wù)器監(jiān)聽(tīng),客戶(hù)端請(qǐng)求,連接確認(rèn)。服務(wù)器監(jiān)聽(tīng):服務(wù)器端套接字并不定位具體的客戶(hù)端套接字,而是處于等待連接的狀態(tài),實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài),等待客戶(hù)端的連接請(qǐng)求。客戶(hù)端請(qǐng)求:指客戶(hù)端的套接字提出連接請(qǐng)求,要連接的目標(biāo)是服務(wù)器端的套接字。為此,客戶(hù)端的套接字必須首先描述它要連接的服務(wù)器的套接字,指出服務(wù)器端套接字的地址和端口號(hào),然后就向服務(wù)器端套接字提出連接請(qǐng)求。連接確認(rèn):當(dāng)服務(wù)器端套接字監(jiān)聽(tīng)到或者說(shuō)接收到客戶(hù)端套接字的連接請(qǐng)求時(shí),就響應(yīng)客戶(hù)端套接
6、字的請(qǐng)求,建立一個(gè)新的線(xiàn)程,把服務(wù)器端套接字的描述發(fā) 給客戶(hù)端,一旦客戶(hù)端確認(rèn)了此描述,雙方就正式建立連接。而服務(wù)器端套接字繼續(xù)處于監(jiān)聽(tīng)狀態(tài),繼續(xù)接收其他客戶(hù)端套接字的連接請(qǐng)求。服務(wù)端: ServerSocket serverSocket = new ServerSocket(PORT); Socket client = serverSocket.accept(); 客戶(hù)端: Socket socket =
7、160;new Socket(IP_ADDR, PORT); socket.getInputStream()、socket.getInputStream()獲取到流傳遞數(shù)據(jù)信息;補(bǔ)充:HTTP連接 HTTP協(xié)議即超文本傳送協(xié)議(Hypertext Transfer Protocol ),是Web聯(lián)網(wǎng)的基礎(chǔ),也是手機(jī)聯(lián)網(wǎng)常用的協(xié)議之一,HTTP協(xié)議是建立在TCP協(xié)議之上的一種應(yīng)用。 HTTP連接最顯著的特點(diǎn)是客戶(hù)端發(fā)送的每次請(qǐng)求都需要服務(wù)器回送響應(yīng),在請(qǐng)求結(jié)束后,會(huì)主動(dòng)釋放連接。從建立連接到關(guān)閉連接的過(guò)程稱(chēng)為“一次連接”。 1)在HTTP 1.0中,客戶(hù)端的每次請(qǐng)求都要求建立一次單獨(dú)的連接,在處理完本次請(qǐng)求后,就自動(dòng)釋放連接。 2)在HTTP 1.1中則可以在一次連接中處理多個(gè)請(qǐng)求,并且多個(gè)請(qǐng)求可以重疊進(jìn)行,不需要等待一個(gè)請(qǐng)求結(jié)束后再發(fā)送下一個(gè)請(qǐng)求。 由于HTTP在每次請(qǐng)求結(jié)束后都會(huì)主動(dòng)釋放連接,因此HTTP連接是一種“短連接”,要保持客戶(hù)端程序的在線(xiàn)狀態(tài),需要不斷地向服務(wù)器發(fā)起連接請(qǐng)求。通常的做法是即使不需要獲得任何數(shù)據(jù),客
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商品合作協(xié)議合同范例
- 天府新區(qū)信息職業(yè)學(xué)院《織員工激勵(lì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 個(gè)人買(mǎi)鋼材寫(xiě)合同范例
- 天府新區(qū)信息職業(yè)學(xué)院《高等代數(shù)(I)》2023-2024學(xué)年第一學(xué)期期末試卷
- 會(huì)議協(xié)議合同范例
- 兄弟拆遷安置合同范例
- 機(jī)械維修廠(chǎng)轉(zhuǎn)讓合同范例
- 上海it培訓(xùn)合同范例
- 三級(jí)物業(yè)管理師模擬練習(xí)題及答案
- 卡車(chē)租賃合同范例
- 我們?yōu)槭裁匆W(xué)習(xí)-勵(lì)志主題班會(huì)(課件)
- 2024-2030年中國(guó)移動(dòng)機(jī)器人(AGV)應(yīng)用市場(chǎng)需求分析及投資戰(zhàn)略研究報(bào)告
- 中華人民共和國(guó)能源法
- 常見(jiàn)急救知識(shí)培訓(xùn)
- 班組長(zhǎng)心理培訓(xùn)課件
- GB/T 44685-2024印刷機(jī)械油墨干燥及固化裝置能效評(píng)價(jià)方法
- 產(chǎn)品質(zhì)量檢測(cè)服務(wù)行業(yè)營(yíng)銷(xiāo)策略方案
- 佛吉亞卓越體系知識(shí)手冊(cè)
- GB/T 32151.29-2024溫室氣體排放核算與報(bào)告要求第29部分:機(jī)械設(shè)備制造企業(yè)
- 某制藥廠(chǎng)房空調(diào)自控系統(tǒng)URS文件
- 身臨其境 課件-2024-2025學(xué)年人教版(2024)初中美術(shù)七年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論