Java學(xué)習(xí)筆記:UDP和TCP協(xié)議【詩書畫唱】
UDP協(xié)議:
1.通過數(shù)據(jù)包傳輸
2.因?yàn)闆]有面向鏈接,所以是不安全的協(xié)議
3.大小有限制,為64KB
4.發(fā)送端和接收端是相等的
優(yōu)點(diǎn):因?yàn)椴挥媒⑦B接,所以傳輸速度快
UDP鏈接基本步驟:
發(fā)送端
1.創(chuàng)建發(fā)送數(shù)據(jù)Socket對象 2.創(chuàng)建數(shù)據(jù),并將數(shù)據(jù)打包 3.調(diào)用Socket發(fā)送的方法發(fā)送數(shù)據(jù)
4.釋放資源
接收端:
1.創(chuàng)建接收Socket對象容器
2.創(chuàng)建一個數(shù)據(jù)包(接收數(shù)據(jù))
3.調(diào)用Socket對象接收方法接收數(shù)據(jù)
4.解析數(shù)據(jù)包
5.釋放資源
————————————————
TCP協(xié)議:
1.通過流進(jìn)行傳輸
2.需要經(jīng)過三次握手,之后面向連接建立通信管道
3.沒有大小限制
4.因?yàn)橐⒘?,所以相對于UDP來說速度相對慢
5.TCP的兩端不是平等的,由客戶端和服務(wù)器
TCP步驟:
客戶端:
1.建立連接到的Socket
2.得到該Socket的輸出流
3.輸出數(shù)據(jù)
4.釋放資源
服務(wù)器端:
1.建立服務(wù)器ServerSocket
2.堵塞性的等待用戶進(jìn)行連接
3.得到連接的Socket對象后獲取其輸入流
4.得到輸入流傳輸?shù)臄?shù)據(jù),進(jìn)行解析
5.打印數(shù)據(jù),釋放Socket