日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Socket、Http、TCP/IP、UDP的联系与区别

發(fā)布時間:2023/12/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Socket、Http、TCP/IP、UDP的联系与区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

HTTP協(xié)議:簡單對象訪問協(xié)議,對應(yīng)于應(yīng)用層??,HTTP協(xié)議是基于TCP連接的

tcp協(xié)議:????對應(yīng)于傳輸層

ip協(xié)議:?????對應(yīng)于網(wǎng)絡(luò)層?
TCP/IP是傳輸層協(xié)議,主要解決數(shù)據(jù)如何在網(wǎng)絡(luò)中傳輸;而HTTP是應(yīng)用層協(xié)議,主要解決如何包裝數(shù)據(jù)。

Socket是對TCP/IP協(xié)議的封裝,Socket本身并不是協(xié)議,而是一個調(diào)用接口(API),通過Socket,我們才能使用TCP/IP協(xié)議。

?

http連接:http連接就是所謂的短連接,即客戶端向服務(wù)器端發(fā)送一次請求,服務(wù)器端響應(yīng)后連接即會斷掉;

socket連接:socket連接就是所謂的長連接,理論上客戶端和服務(wù)器端一旦建立起連接將不會主動斷掉;但是由于各種環(huán)境因素可能會是連接斷開,比如說:服務(wù)器端或客戶端主機(jī)down了,網(wǎng)絡(luò)故障,或者兩者之間長時間沒有數(shù)據(jù)傳輸,網(wǎng)絡(luò)防火墻可能會斷開該連接以釋放網(wǎng)絡(luò)資源。所以當(dāng)一個socket連接中沒有數(shù)據(jù)的傳輸,那么為了維持連接需要發(fā)送心跳消息~~具體心跳消息格式是開發(fā)者自己定義的

?

Socket和http協(xié)議都可以實(shí)現(xiàn)數(shù)據(jù)傳輸,但兩種傳輸方式有什么??各自的特點(diǎn),和缺點(diǎn),如何選擇合適的傳輸方式。

1?數(shù)據(jù)傳輸方式

1.1??Socket傳輸?shù)亩x和其特點(diǎn)

???所謂socket通常也稱作"套接字",實(shí)現(xiàn)服務(wù)器和客戶端之間的物理連接,并進(jìn)行數(shù)據(jù)傳輸,主要有UDP和TCP兩個協(xié)議。Socket處于網(wǎng)絡(luò)協(xié)議的傳輸層。

???UDP協(xié)議:廣播式數(shù)據(jù)傳輸,不進(jìn)行數(shù)據(jù)驗(yàn)證,不是面向連接的協(xié)議

???TCP協(xié)議:傳輸控制協(xié)議,一種面向連接的協(xié)議,給用戶進(jìn)程提供可靠的全雙工的字節(jié)流,

?

????TCP---傳輸控制協(xié)議,提供的是面向連接、可靠的字節(jié)流服務(wù)。當(dāng)客戶和服務(wù)器彼此交換數(shù)據(jù)前,必須先在雙方之間建立一個TCP連接,之后才能傳輸數(shù)據(jù)。TCP提供超時重發(fā),丟棄重復(fù)數(shù)據(jù),檢驗(yàn)數(shù)據(jù),流量控制等功能,保證數(shù)據(jù)能從一端傳到另一端。
????UDP---用戶數(shù)據(jù)報協(xié)議,是一個簡單的面向數(shù)據(jù)報的運(yùn)輸層協(xié)議。UDP不提供可靠性,它只是把應(yīng)用程序傳給IP層的數(shù)據(jù)報發(fā)送出去,但是并不能保證它們能到達(dá)目的地。由于UDP在傳輸數(shù)據(jù)報前不用在客戶和服務(wù)器之間建立一個連接,且沒有超時重發(fā)等機(jī)制,故而傳輸速度很快

?

?

Socket?傳輸?shù)奶攸c(diǎn):

???優(yōu)點(diǎn)

????????????1)??傳輸數(shù)據(jù)為字節(jié)級,傳輸數(shù)據(jù)可自定義,數(shù)據(jù)量小(對于手機(jī)應(yīng)用講:費(fèi)用低)

  • 傳輸數(shù)據(jù)時間短,性能高

  • 適合于客戶端和服務(wù)器端之間信息實(shí)時交互

  • 可以加密,數(shù)據(jù)安全性強(qiáng)

  • ?

    ???缺點(diǎn):

  • 需對傳輸?shù)臄?shù)據(jù)進(jìn)行解析,轉(zhuǎn)化成應(yīng)用級的數(shù)據(jù)

  • 對開發(fā)人員的開發(fā)水平要求高

  • 相對于Http協(xié)議傳輸,增加了開發(fā)量

  • ?

    1.2??基于Http協(xié)議傳輸?shù)亩x和其特點(diǎn)

    ???????目前基于http協(xié)議傳輸?shù)闹饕衕ttp協(xié)議?和基于http協(xié)議的Soap協(xié)議(web?service),常見的方式是?http?的post?和get?請求,web?服務(wù)。

    ?

    基于http協(xié)議的傳輸特點(diǎn)

    ???優(yōu)點(diǎn):

  • 基于應(yīng)用級的接口使用方便

  • 程序員開發(fā)水平要求不高,容錯性強(qiáng)

  • ???缺點(diǎn):

  • 傳輸速度慢,數(shù)據(jù)包大(Http協(xié)議中包含輔助應(yīng)用信息)

  • 如實(shí)時交互,服務(wù)器性能壓力大。

  • 數(shù)據(jù)傳輸安全性差

  • ?

    2?各數(shù)據(jù)傳輸方式的適用范圍

    ?2.1?Socket傳輸適用范圍

    ?基于Socket傳輸?shù)奶攸c(diǎn):Socket?傳輸方式適合于對傳輸速度,安全性,實(shí)時交互,費(fèi)用等要求高的應(yīng)用中,如網(wǎng)絡(luò)游戲,手機(jī)應(yīng)用,銀行內(nèi)部交互等

    ?

    ?2.2?基于Http協(xié)議傳輸?shù)倪m用范圍

    ???????基于http協(xié)議傳輸?shù)奶攸c(diǎn):基于http協(xié)議傳輸方式適合于對傳輸速度,安全性?要求不是很高,且需要快速開發(fā)的應(yīng)用。如公司OA系統(tǒng),互聯(lián)網(wǎng)服務(wù)等。

    ?

    轉(zhuǎn)自:http://blog.csdn.net/xyylchq/article/details/7660915

    ??????????http://my.oschina.net/u/556624/blog/71484

    轉(zhuǎn)載于:https://www.cnblogs.com/xingwu/p/3706389.html

    總結(jié)

    以上是生活随笔為你收集整理的Socket、Http、TCP/IP、UDP的联系与区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。