網路程式設計tcp

2022-08-16 17:45:19 字數 1430 閱讀 8138

tcp客戶端建立流程

import

socket

#建立套接字

tcp_socket =socket.socket(socket.af_inet, socket.sock_stream)

#建立和伺服器的鏈結

tcp_socket.connect(("

伺服器ip

", 8888))

#傳送資料

send_content = "

傳送內容

"send_data = send_content.encode("

gbk"

)tcp_socket.send(send_data)

#接收資料

recv_data = tcp_socket.recv(1024)

recv_content = recv_data.decode("

gbk"

)print

(recv_content)

#關閉套接字

tcp_socket.close()

tcp服務端建立流程

import

socket

#建立套接字

tcp_socket =socket.socket(socket.af_inet, socket.sock_stream)

#立即釋放埠

tcp_socket,setsockopt(socket.sol_socket, socket.so_reuseaddr, true)

#繫結埠

tcp_socket.bind(("",8888))

#設定客戶端最大連線數

tcp_socket.listen(5)

#等待客戶端建立連線

client_socket, ip_part =tcp_socket.accept()

#傳送資料

send_content = "

傳送內容

"send_data = send_content.encode("

gbk"

)client_socket.send(send_data)

#接收資料

recv_data = client_socket.recv(1024)

recv_content = recv_data.decode("

gbk"

)print

(recv_content)

#關閉套接字(不和客戶端進行收發資料)

client_socket.close()

#關閉套接字(不再接受新的客戶端與伺服器建立連線)

tcp_socket.close()

檔案的另一種開啟方式:

with open(檔名, 開啟方式) as f:

用f操作檔案

語句塊執行完自動關閉檔案

TCP網路程式設計

基於tcp 通訊模型 由上圖可以得出tcp通訊的步驟如下 服務端 1 建立乙個socket,用函式socket 2 繫結ip位址 埠等資訊到socket上,用函式bind 3 設定允許的最大連線數,用函式listen 4 等待來著客戶端的連線請求,用函式accept 5 收發資料,用函式send 和...

網路程式設計 TCP

客戶端 1.建立客戶端的socket服務,指定目的主機和埠 2.為了傳送資料,應該獲取socket中的輸出流 3.獲取socket中的輸入流來獲取服務端的反饋資料 4.關閉資源 服務端 1.建立服務端的serversocket服務,並監聽乙個埠 2.通過accept方法 等待並獲取連線過來的客戶端s...

網路程式設計 TCP

即有傳送緩衝區 接收緩衝區,傳送次數和接收次數不一定對等。報頭長,成本高,需要搭載更多的資料。1.三次握手 通過對ack的確認,建立可靠連線。有超時重傳機制 2.四次揮手 有可能伺服器處理資料的時間較短,即三次揮手 3.狀態圖 2 保證遲來的資料報能被識別並丟棄 4.tcp狀態轉移過程 5.tcp報...