APP開發(fā)關(guān)于實現(xiàn)TCP/IP概述,深圳APP開發(fā)公司開發(fā)工程師結(jié)合自身多年的行業(yè)實戰(zhàn)經(jīng)驗,歸
納整理出我們在APP開發(fā)時如何解決TCP/IP的問題,首先我們分為,協(xié)議簡介、TCP和UDP的區(qū)別進(jìn)行分步講解。
1.協(xié)議簡介大多數(shù)APP都要通過網(wǎng)絡(luò)連接服務(wù)器,網(wǎng)絡(luò)協(xié)議通常分不同層次進(jìn)行開發(fā),每一層分別負(fù)責(zé)不同的通信功能。最常用的TCP/IP通常被認(rèn)為是一個4層協(xié)議系統(tǒng)。
TCP/IP協(xié)議族的每一層分別負(fù)責(zé)不同的功能,從下到到上各層功能如下所述。鏈路層,有時也稱作數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層。通常包括操作系統(tǒng)中的設(shè)備驅(qū)動程序和計算機(jī)中對應(yīng)的網(wǎng)絡(luò)接口卡,它們一起處理與電纜(或其他任何傳輸媒介)的物理接口細(xì)節(jié)。網(wǎng)絡(luò)層,有時也稱作互聯(lián)網(wǎng)層。它負(fù)責(zé)處理分組在網(wǎng)絡(luò)中的活動,例如分組的選路。在TCP/IP協(xié)議族中,網(wǎng)絡(luò)層協(xié)議包括IP協(xié)議(網(wǎng)際協(xié)議)、ICMP協(xié)議(Internet互聯(lián)網(wǎng)控制報文協(xié)議)和IGMP協(xié)議(Internet組管理協(xié)議)。傳輸層,主要為兩臺主機(jī)上的應(yīng)用程序提供端到端的通信。
在TCP/IP協(xié)議族中,有兩個互不相同的傳輸協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。應(yīng)用層負(fù)責(zé)包裝和解析數(shù)據(jù),它支持的應(yīng)用層協(xié)議有:文件傳輸協(xié)議FTP、電子郵件傳輸協(xié)議SMTP、域名系統(tǒng)服務(wù)DNS、網(wǎng)絡(luò)新聞傳輸協(xié)議NNTP、HTTP和XMPP協(xié)議等。
2.TCP和UDP的區(qū)別
面向連接服務(wù) TCP提供的是面向連接服務(wù),傳輸數(shù)據(jù)要經(jīng)過以下3個階段。數(shù)據(jù)傳輸前先建立連接。連接建立后再傳輸數(shù)據(jù)。數(shù)據(jù)傳送完后,釋放連接。TCP所做的工作包括將應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層、確認(rèn)接收到的分組和設(shè)置發(fā)送最后確認(rèn)分組的超時時鐘等,從而確保數(shù)據(jù)傳送的次序和傳輸?shù)目煽啃浴S捎趥鬏攲犹峁┝烁呖煽啃缘亩说蕉说耐ㄐ?,?yīng)用層可以忽略這些細(xì)節(jié)。
3.無連接服務(wù)
UDP提供的是無連接服務(wù),即只有傳輸數(shù)據(jù)階段,消除了除數(shù)據(jù)通信外的其他開銷,只要發(fā)送實體是活躍的,無須接收實體是活躍的。UDP傳送數(shù)據(jù)前并不與對方建立連接,對接收到的數(shù)據(jù)也不發(fā)送確認(rèn)信號,發(fā)送端不知道數(shù)據(jù)是否會正確接收,當(dāng)然也不用重發(fā)。UDP只是把稱作數(shù)據(jù)報的分組從一臺主機(jī)發(fā)送到另一臺主機(jī),但并不保證該數(shù)據(jù)報能到達(dá)另一端。任何必需的可靠性由應(yīng)用層來提供。UDP在底層協(xié)議的封裝上沒有采用類似TCP的“三次握手”,且不必進(jìn)行收發(fā)數(shù)據(jù)的確認(rèn)。其優(yōu)點是開銷小、數(shù)據(jù)傳輸速率高、實時性更好;但無連接服務(wù)不能防止報文的丟失、重復(fù)或失序,是一種不可靠的數(shù)據(jù)傳輸協(xié)議。開發(fā)人員可以自己實現(xiàn)對UDP的數(shù)據(jù)收發(fā)進(jìn)行驗證,比如發(fā)送方對每個數(shù)據(jù)包進(jìn)行編號,然后由接收方進(jìn)行驗證,確保數(shù)據(jù)傳送的次序和傳輸?shù)目煽啃浴^(qū)分TCP和UDP特別簡單,就好比打電話和寫信。兩個人如果要通電話,必須先建立連接——撥號,等待應(yīng)答后才能相互傳遞信息,最后還要釋放連接——掛電話;寫信就沒有那么復(fù)雜了,地址和姓名填好以后直接往郵筒一扔就可以了。好了,APP開發(fā)公司本文關(guān)于“APP開發(fā)關(guān)于實現(xiàn)TCP/IP概述”的知識我們就分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。