第04天{tcp}
1. 能夠寫出udp聊天器功能程式
# 1. 傳送資料 : udp_socket.sendto(二進位制資料, (ip地址, 埠號))
# 2. 接收資料 : udp_socket.recvfrom(1024)
2. 知道TCP傳輸方式的優缺點
# 優點: 可靠的傳輸協議,保證資料的可靠傳輸,不會出現資料錯亂和丟包
# 缺點: 佔用系統資源比較多,傳輸速度沒有udp的快
3. 能夠寫出TCP程式完成傳送資料和接收資料
# 傳送資料: tcp_socket.send(二進位制資料)
# 接收資料: tcp_socket.recv(1024), 如果想要多次對方傳送的資料可以使用迴圈, 提示: 如何知道對方把資料傳送完成,可以通過判斷接收的資料長度是否為0(即判斷接收到的資料是否為空字串)
4. 知道tcp套接字的注意點
# 1. tcp客戶端的套接字傳送資料之前需要建立連線
# 2. tcp服務端的套接字需要繫結埠號
# 3. listen後的套接字就是服務端套接字,只負責接收客戶端的連線請求,不能收發資料
# 4. accept返回的套接字,表示專門服務於客戶端的套接字,收發訊息使用該套接字
# 5. 關閉listen後的套接字,關閉服務端套接字,服務端終止提供建立連線服務(但是之前已經建立好的連線還可以繼續通訊)
# 6. 廣播accpet返回的套接字,表示終止和客戶端進行通訊
# 7. 當一方呼叫close的時候,接收資料這一方會解阻塞,獲取的資料長度是0
# ✔✔✔
5. 能夠寫出檔案下載器的服務端和客戶端程式碼
6. 知道tcp的三次握手什麼時候產生
# 建立需要產生三次握手
7. 知道tcp的4次揮手什麼時候產生的
# 斷開連線,提示: tcp真正斷開連線釋放埠號需要等待1-2分鐘