【Java 網絡編程】Socket TCP UDP 聯系
文章目錄
I 信息傳輸關注點
II Socket 與 TCP UDP 關系
III Socket 連接組成 ( IP地址 + 端口號 )
IV Socket TCP
V Socket UDP
VI CS 應用模型
信息傳輸不需要關心底層 :
將字符串數據從設備 A 傳遞給設備 B ,
需要將數據轉為電信號進行傳輸 ,
但是我們不需要關心具體的信息如字符串中的某個字母 , 到底轉成哪些電信號進行傳輸 ,
如果需要考慮底層的具體操作 , 整個開發會非常繁瑣 ;
快遞發送案例 :
A 向 B 發一份快遞 , 首先將物品包裝起來
( 對應表示層的數據封裝 )
, 然后貼上目的地標簽
( 對應網絡層尋址和路由選擇 )
, 然后送到快遞公司 , 快遞公司通過各種物流如航空或火車
( 對應物理層的光電信號傳輸 )
, B 收到后 , 拆開快遞 , 拿到物品 ;
該操作類似于 OSI 的七層網絡模型發送數據信息 ;
發送信息的 A 不需要了解具體的物流過程 , 只需要將物品準備好即可 ;
1. Socket 與 TCP UDP 之間的關系 :
Socket 就是對 TCP UDP 協議進行的封裝 ,
主要封裝了 IP 地址與對應的通信端口相關內容 ;
① 端口 : 如使用 HTTP 協議訪問網站 , 訪問的就是 80 端口 ;
② IP 地址 : 在網絡中可以使用 IP 地址查找到指定網絡設備 ;
2.
Socket 是對 TCP/IP 協議的實現 ,
具體指的就是 Socket 相關的 API , 包括流套接字 ( Stream Socket ) 和數據套接字 ( Datagram Socket ) ;
1. Socket 作用 : 信息傳輸過程中 ,
標識兩個端點之間的網絡連接 ;
2. Socket 連接與物理層連接 : 設備 A 與設備 B 通過 Socket 連接 ,
該連接不是物理層面的連接
,
其物理層面可能正在連接 , 也可能沒有連接 , 可能一次 Socket 連接要涉及到多次物理層連接與斷開 , 物理層連接對 Socket 操作來說是透明的 ;
3. 端點 :
IP 地址 + 端口號 ,
代表了一個端點 ;
4. 服務器客戶端 Socket 連接元素 : 在一個客戶端與服務器的 Socket 連接中 , 涉及到了 ① 服務器 IP 地址 , ② 服務器端口號 , ③ 客戶端 IP 地址 , ④ 客戶端端口號 ;
1. 三次握手 :
TCP 是面向連接的通信協議 ,
該協議下建立連接 , 需要三次握手 , 通信結束后要關閉連接 ;
2. 端到端通信 :
TCP 協議只能用于兩個端點之間的通信 ,
通信時是無法與第三個端點進行通信 ;
1. UDP 協議特點 :
UDP 是無連接的通信協議 ,
其數據包含目標端口信息和源端口信息 ;
2. UDP 廣播 :
該協議通信不需要建立連接 , 可以實現廣播發送 ;
3. TCP 與 UDP 傳輸區別 :
TCP 數據發送數據到另一端 , 必有一個反饋結果 , 或者成功 , 或者失敗 ;
UDP 發送數據 , 不管結果 , 只負責發送 , 不負責送達 ;
CS 應用模型 ( Client-Server Application ) : TCP/IP 協議的通信 ,
主要使用的模型就是 CS 模型 ,
Server 和 Client 分別對應服務器端和客戶端的兩個進程 ;
其主要目的是實現網絡中的計算機資源 , 服務 , 和數據的共享 ;
常用的 CS 模型是 FTP , SMTP , HTTP ;
Socket編程 TCP/IP UDP
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。