Socket實(shí)現(xiàn)服務(wù)器與客戶端之間的物理連接,并進(jìn)行數(shù)據(jù)傳輸。主要有TCP/UDP兩個(gè)協(xié)議。Socket處于網(wǎng)絡(luò)協(xié)議的傳輸層。
TCP:傳輸控制協(xié)議,面向連接的的協(xié)議,穩(wěn)定可靠。當(dāng)客戶和服務(wù)器彼此交換數(shù)據(jù)前,必須先在雙方之間建立一個(gè)TCP連接,之后才能傳輸數(shù)據(jù)。
UDP:廣播式數(shù)據(jù)傳輸,UDP不提供可靠性,它只是把應(yīng)用程序傳給IP層的數(shù)據(jù)報(bào)發(fā)送出去,但是并不能保證它們能到達(dá)目的地。由于UDP在傳輸數(shù)據(jù)報(bào)前不用在客戶和服務(wù)器之間建立一個(gè)連接,且沒有超時(shí)重發(fā)等機(jī)制,故而傳輸速度很快。
優(yōu)點(diǎn):1.傳輸數(shù)據(jù)為字節(jié)級,傳輸數(shù)據(jù)可自定義,數(shù)據(jù)量小。相應(yīng)的移動(dòng)端開發(fā),手機(jī)費(fèi)用低
2.傳輸數(shù)據(jù)時(shí)間短,性能高
3.適合C/S之間信息實(shí)時(shí)交互
4.可以加密,數(shù)據(jù)安全性高
缺點(diǎn):1.需要對傳輸?shù)臄?shù)據(jù)進(jìn)行解析,轉(zhuǎn)化為應(yīng)用級的數(shù)據(jù)
2.對開發(fā)人員的開發(fā)水平要求高
3.相對于Http協(xié)議傳輸,增加了開發(fā)量
Http請求主要有http協(xié)議,基于http協(xié)議的soap協(xié)議,常見的http數(shù)據(jù)請求方式有g(shù)et和post,web服務(wù)。
優(yōu)點(diǎn):1.基于應(yīng)用級的接口使用方便
2.要求的開發(fā)水平不高,容錯(cuò)性強(qiáng)
缺點(diǎn): 1.傳輸速度慢,數(shù)據(jù)包大。
2.如實(shí)現(xiàn)實(shí)時(shí)交互,服務(wù)器性能壓力大
3.數(shù)據(jù)傳輸安全性差
Socket適用場景:網(wǎng)絡(luò)游戲,銀行交互,支付。
http適用場景:公司OA服務(wù),互聯(lián)網(wǎng)服務(wù)。