1. 程式人生 > >Tcp,http ,SOCKET 複習

Tcp,http ,SOCKET 複習

TCP:

第一次握手:客戶端發個syn =j包給伺服器,進入syn_send 狀態 傳送狀態

第二次握手  伺服器收到syn  發syn=k和ack=j+1的包給客戶端進入SYN_RECV 接收狀態

第三次握手 客戶端收到伺服器的包,想伺服器發ack=k+1,伺服器和客戶端都進入ESTABLISHED狀態

這之間包中不會包含資料,握手完之後正式傳遞資料

 在雙方不進行斷開操作的情況下都不會斷開連線

 

HTTP

客戶端發請求,請求結束後,自動釋放連線, 從建立連線到關閉稱為一次連線。

socket 

支援TCP/IP協議的基本操作單元,包含  連線使用的協議,本地主機的ip,本地程序的協議埠

,遠端主機的ip地址,遠地程序的ip地址

 建立Socket連線至少需要一對套接字,一個運行於客戶端,稱為ClientSocket ,另一個運行於伺服器端,稱為ServerSocket 

1.伺服器監聽:伺服器處於等待連線的狀態,等客戶端請求

2.客戶端請求:客戶端拿著自己的套接字,去請求伺服器端的套接字

3.確認連線:伺服器端套接字接收到客戶端的套接字請求,就建立連線,併發伺服器端套接字給客戶端。

客戶端接到伺服器端的套接字並確認之後,雙方建立連線。

 

 

tcp與udp:

tcp建立連線要3次握手,連線更可靠。

udp不需要,資料發出之後不管對方能不能收到。udp網路開銷小,傳輸速率快。雖然不安全,但是可以對udp進行改造,進行傳輸資料校驗。