全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
關(guān)于手機(jī)Opera Mini網(wǎng)絡(luò)協(xié)議http與socket的選擇問題轉(zhuǎn)自/%D2%B9%D1%A9%B3%E6/blog/item/d6a72d2bbf467cf2e7cd406d.html相信不少初學(xué)手機(jī)聯(lián)網(wǎng)開發(fā)的朋友都想知道Http與Socket連接究竟有什么區(qū)別,希望通過自己的淺顯理解能對(duì)初學(xué)者有所幫助。1、TCP連接要想明白Socket連接,先要明白TCP連接。手機(jī)能夠使用聯(lián)網(wǎng)功能是因?yàn)槭謾C(jī)底層實(shí)現(xiàn)了TCP/IP協(xié)議,可以使手機(jī)終端通過無線網(wǎng)絡(luò)建立TCP連接。TCP協(xié)議可以對(duì)上層網(wǎng)絡(luò)提供接口,使上層網(wǎng)絡(luò)數(shù)據(jù)的傳輸建立在“無差別”的網(wǎng)絡(luò)之上。建立起一個(gè)TCP連接需要經(jīng)過“三次握手”:第一次握手:客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn);第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài);第三次握手:客戶端收到服務(wù)器的SYNACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。握手過程中傳送的包里不包含數(shù)據(jù),三次握手完畢后,客戶端與服務(wù)器才正式開始傳送數(shù)據(jù)。理想狀態(tài)下,TCP連接一旦建立,在通信雙方中的任何一方主動(dòng)關(guān)閉連接之前,TCP 連接都將被一直保持下去。斷開連接時(shí)服務(wù)器和客戶端均可以主動(dòng)發(fā)起斷開TCP連接的請(qǐng)求,斷開過程需要經(jīng)過“四次握手”(過程就不細(xì)寫了,就是服務(wù)器和客戶端交互,最終確定斷開)2、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)是客戶端發(fā)送的每次請(qǐng)求都需要服務(wù)器回送響應(yīng),在請(qǐng)求結(jié)束后,會(huì)主動(dòng)釋放連接。從建立連接到關(guān)閉連接的過程稱為“一次連接”。1)在HTTP 1.0中,客戶端的每次請(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連接是一種“短連接”,要保持客戶端程序的在線狀態(tài),需要不斷地向服務(wù)器發(fā)起連接請(qǐng)求。通常的做法是即時(shí)不需要獲得任何數(shù)據(jù),客戶端也保持每隔一段固定的時(shí)間向服務(wù)器發(fā)送一次“保持連接”的請(qǐng)求,服務(wù)器在收到該請(qǐng)求后對(duì)客戶端進(jìn)行回復(fù),表明知道客戶端“在線”。若服務(wù)器長時(shí)間無法收到客戶端的請(qǐng)求,則認(rèn)為客戶端“下線”,若客戶端長時(shí)間無法收到服務(wù)器的回復(fù),則認(rèn)為網(wǎng)絡(luò)已經(jīng)斷開。3、SOCKET原理3.1套接字(socket)概念套接字(socket)是通信的基石,是支持TCP/IP協(xié)議的網(wǎng)絡(luò)通信的基本操作單元。它是網(wǎng)絡(luò)通信過程中端點(diǎn)的抽象表示,包含進(jìn)行網(wǎng)絡(luò)通信必須的五種信息:連接使用的協(xié)議,本地主機(jī)的IP地址,本地進(jìn)程的協(xié)議端口,遠(yuǎn)地主機(jī)的IP地址,遠(yuǎn)地進(jìn)程的協(xié)議端口。應(yīng)用層通過傳輸層進(jìn)行數(shù)據(jù)通信時(shí),TCP會(huì)遇到同時(shí)為多個(gè)應(yīng)用程序進(jìn)程提供并發(fā)服務(wù)的問題。多個(gè)TCP連接或多個(gè)應(yīng)用程序進(jìn)程可能需要通過同一個(gè) TCP協(xié)議端口傳輸數(shù)據(jù)。為了區(qū)別不同的應(yīng)用程序進(jìn)程和連接,許多計(jì)算機(jī)操作系統(tǒng)為應(yīng)用程序與TCPIP協(xié)議交互提供了套接字(Socket)接口。應(yīng)用層可以和傳輸層通過Socket接口,區(qū)分來自不同應(yīng)用程序進(jìn)程或網(wǎng)絡(luò)連接的通信,實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù)。3.2 建立socket連接建立Socket連接至少需要一對(duì)套接字,其中一個(gè)運(yùn)行于客戶端,稱為ClientSocket ,另一個(gè)運(yùn)行于服務(wù)器端,稱為ServerSocket 。套接字之間的連接過程分為三個(gè)步驟:服務(wù)器監(jiān)聽,客戶端請(qǐng)求,連接確認(rèn)。服務(wù)器監(jiān)聽:服務(wù)器端套接字并不定位具體的客戶端套接字,而是處于等待連接的狀態(tài),實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài),等待客戶端的連接請(qǐng)求。客戶端請(qǐng)求:指客戶端的套接字提出連接請(qǐng)求,要連接的目標(biāo)是服務(wù)器端的套接字。為此,客戶端的套接字必須首先描述它要連接的服務(wù)器的套接字,指出服務(wù)器端套接字的地址和端口號(hào),然后就向服務(wù)器端套接字提出連接請(qǐng)求。連接確認(rèn):當(dāng)服務(wù)器端套接字監(jiān)聽到或者說接收到客戶端套接字的連接請(qǐng)求時(shí),就響應(yīng)客戶端套接字的請(qǐng)求,建立一個(gè)新的線程,把服務(wù)器端套接字的描述發(fā)給客戶端,一旦客戶端確認(rèn)了此描述,雙方就正式建立連接。而服務(wù)器端套接字繼續(xù)處于監(jiān)聽狀態(tài),繼續(xù)接收其他客戶端套接字的連接請(qǐng)求。4、SOCKET連接與TCP連接創(chuàng)建Socket連接時(shí),可以指定使用的傳輸層協(xié)議,Socket可以支持不同的傳輸層協(xié)議(TCP或UDP),當(dāng)使用TCP協(xié)議進(jìn)行連接時(shí),該Socket連接就是一個(gè)TCP連接。5、Socket連接與HTTP連接由于通常情況下Socket連接就是TCP連接,因此Socket連接一旦建立,通信雙方即可開始相互發(fā)送數(shù)據(jù)內(nèi)容,直到雙方連接斷開。但在實(shí)際網(wǎng)絡(luò)應(yīng)用中,客戶端到服務(wù)器之間的通信往往需要穿越多個(gè)中間節(jié)點(diǎn),例如路由器、網(wǎng)關(guān)、防火墻等,大部分防火墻默認(rèn)會(huì)關(guān)閉長時(shí)間處于非活躍狀態(tài)的連接而導(dǎo)致 Socket 連接斷連,因此需要通過輪詢告訴網(wǎng)絡(luò),該連接處于活躍狀態(tài)。而HTTP連接使用的是“請(qǐng)求響應(yīng)”的方式,不僅在請(qǐng)求時(shí)需要先建立連接,而且需要客戶端向服務(wù)器發(fā)出請(qǐng)求后,服務(wù)器端才能回復(fù)數(shù)據(jù)。很多情況下,需要服務(wù)器端主動(dòng)向客戶端推送數(shù)據(jù),保持客戶端與服務(wù)器數(shù)據(jù)的實(shí)時(shí)與同步。此時(shí)若雙方建立的是Socket連接,服務(wù)器就可以直接將數(shù)據(jù)傳送給客戶端;若雙方建立的是HTTP連接,則服務(wù)器需要等到客戶端發(fā)送一次請(qǐng)求后才能將數(shù)據(jù)傳回給客戶端,因此,客戶端定時(shí)向服務(wù)器端發(fā)送連接請(qǐng)求,不僅可以保持在線,同時(shí)也是在“詢問”服務(wù)器是否有新的數(shù)據(jù),如果有就將數(shù)據(jù)傳給客戶端。資源2:http是一種協(xié)議,socket是一種編程接口,主要包括TCP協(xié)議和UDP協(xié)議,http和TCP/UDP是兩個(gè)不同層上的的協(xié)議。http是應(yīng)用層的協(xié)議,TCP/UDP是傳輸層的協(xié)議,http是在TCP/UDP之上的協(xié)議,http協(xié)議使用了TCP/UDP,http更加高級(jí)一點(diǎn)但是沒有很好的靈活性。也就是http使用起來比TCP/UDP要簡單,只需要遵循規(guī)范就可以進(jìn)行網(wǎng)絡(luò)通信了。原來的手機(jī)qq版本使用了http網(wǎng)絡(luò),這是他們通過http協(xié)議簡單實(shí)現(xiàn)了它里面的通信,底層實(shí)現(xiàn)還是使用socket實(shí)現(xiàn)的,使得手機(jī)的qq可以跟其他客戶端的qq進(jìn)行簡單通信。現(xiàn)在升級(jí)的手機(jī)qq使用了socket連接,即他們自己實(shí)現(xiàn)了qq通信的協(xié)議,不需要http協(xié)議了,這樣更加復(fù)雜了qq的網(wǎng)絡(luò)通信,同時(shí)可以使用更加多的功能。手機(jī)網(wǎng)絡(luò)連接的流量是包括手機(jī)通過運(yùn)營商的服務(wù)器傳輸?shù)臄?shù)據(jù)流量大小,包括任何服務(wù)的網(wǎng)絡(luò)連接的,因此花的流量是包月的流量,移動(dòng)計(jì)算流量對(duì)使用什么網(wǎng)絡(luò)是不考慮的。 資源3:Http和socket有什么區(qū)別?這不是同一層的協(xié)議 socket是一個(gè)針對(duì)TCP和UDP編程的借口,你可以借助它建立TCP連接等等。而TCP和UDP協(xié)議屬于傳輸層 而http是個(gè)應(yīng)用層的協(xié)議,它實(shí)際上也建立在TCP協(xié)議之上。 Opera Mini4.2中,網(wǎng)絡(luò)協(xié)議HTTP和Socket是啥意思?有啥區(qū)別?應(yīng)該選哪個(gè)?謝謝、選哪個(gè)都一樣,我覺得選socket好些 資源5:請(qǐng)問手機(jī)上網(wǎng)的網(wǎng)絡(luò)協(xié)議http和socket有什么分別?用手機(jī)上網(wǎng),用那種網(wǎng)絡(luò)協(xié)議最快?比如手機(jī)“空中-opera 3 ”中也有這2種網(wǎng)絡(luò)協(xié)議,我想知道有什么區(qū)別? 速度的快慢而已參考資料:/t/20050707/19/4129962.html 資源4:資源6:Opera Mini4.2中,網(wǎng)絡(luò)協(xié)議HTTP和Sock
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度大型倉儲(chǔ)物流中心智能通風(fēng)系統(tǒng)合同2篇
- 2024年度教育公司與海外院校關(guān)于國際合作與交流的合同2篇
- 2024年度原創(chuàng)音樂作品委托創(chuàng)作合同樣本3篇
- 2024年度品牌策劃推廣合同.3篇
- 2024年度廣告發(fā)布合同廣告項(xiàng)目合作意向書
- 2024年標(biāo)準(zhǔn)產(chǎn)品采購合同模板版
- 2024年度水利圍堰設(shè)計(jì)與施工一體化服務(wù)合同2篇
- 2024版?zhèn)€人財(cái)產(chǎn)反擔(dān)保合同示范書3篇
- 2024年度有機(jī)農(nóng)業(yè)撫育承包管理合同3篇
- 2024年度合肥軟件開發(fā)項(xiàng)目委托合同6篇
- 乳品加工工(中級(jí))理論考試復(fù)習(xí)題庫(含答案)
- 《教材循環(huán)利用》課件
- 學(xué)生思想政治工作工作證明材料
- 2023水性環(huán)氧樹脂涂層鋼筋
- 湘少版六年級(jí)英語上冊(cè)《Unit 12 第二課時(shí)(Part CPart D)》課堂教學(xué)課件公開課
- 國開《Windows網(wǎng)絡(luò)操作系統(tǒng)管理》形考任務(wù)2-配置本地帳戶與活動(dòng)目錄域服務(wù)實(shí)訓(xùn)
- 環(huán)保設(shè)施安全風(fēng)險(xiǎn)評(píng)估報(bào)告
- 配位化學(xué)-本科生版智慧樹知到課后章節(jié)答案2023年下蘭州大學(xué)
- 數(shù)字邏輯與計(jì)算機(jī)組成 習(xí)題答案 袁春風(fēng) 第3章作業(yè)批改總結(jié)
- 設(shè)備考察報(bào)告怎么寫(共8篇)
- 涉酒案件警示教育心得體會(huì)范文(通用4篇)
評(píng)論
0/150
提交評(píng)論