SOCKET
?網(wǎng)絡(luò)上的兩個程序通過一個雙向的通信連接實現(xiàn)數(shù)據(jù)的交換,這個連接的一端成為一個"socket"
?應(yīng)用程序通常通過“套接字”向網(wǎng)絡(luò)發(fā)出請求或者應(yīng)答網(wǎng)絡(luò)請求
網(wǎng)絡(luò)通信的要素
- 網(wǎng)絡(luò)上的請求就是通過Socket來建立連接然后互相通信
- IP地址(網(wǎng)絡(luò)上主機設(shè)備的唯一標(biāo)識)
- 端口號(定位程序)
?用于標(biāo)識進程的邏輯地址,不同進程的標(biāo)識
?有效端口:0-65535,其中0-1024由系統(tǒng)使用或者保留端口,開發(fā)中建議使用1024以上的端口 - 傳輸協(xié)議(用什么樣的方式進行交互)
?通訊的規(guī)則
?常見協(xié)議:TCP、UDP
TCP&UDP
TCP(傳輸控制協(xié)議)
?建立連接,形成傳輸數(shù)據(jù)的通道
?在連接中進行大數(shù)據(jù)傳輸(數(shù)據(jù)大小不受限制)
?通過三次握手完成連接,是可靠協(xié)議,安全送達
?必須建立連接,效率會稍低UDP(用戶數(shù)據(jù)報協(xié)議)
?將數(shù)據(jù)及源和目的封裝成在數(shù)據(jù)包中,不需要建立連接
?沒個數(shù)據(jù)報的大小限制在64k之內(nèi)
?因為無需連接,因此事不可靠協(xié)議
?不需要建立連接,速度快