TCP基本語法
Cilent
# ### TCP協議 客戶端
import socket
# 1.建立一個socket物件
sk = socket.socket()
# 2.與服務端建立連線
sk.connect( ("127.0.0.1" , 9000) )
# 3.收發資料的邏輯
"""傳送的資料型別是二進位制位元組流"""
"""b開頭的字串是二進位制位元組流格式,要求字元型別必須是ascii編碼"""
sk.send("今天我們學習網路程式設計".encode())
# 接受資料
res = sk.recv(1024)
print(res.decode())
# 4.關閉連線
sk.close()
Sever
# ### socket 服務端
"""
一發一收是一對,不匹配會導致資料異常
send 傳送 recv 接受
"""
import socket
# 1.建立一個socket物件
sk = socket.socket()
# 一個埠繫結多個程式(僅在測試時使用)
# sk.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
# 2.在網路中註冊該主機(繫結對應的ip和埠號)
sk.bind( ("127.0.0.1" , 9000) )
# 3.開啟監聽
sk.listen()
# 4.三次握手
conn,addr = sk.accept() # conn就是客戶端連結過來而在服務端為期生成的一個連結例項
# 5.收發資料的邏輯
# 接受資料
"""一次最多接受1024個位元組"""
res = conn.recv(1024)
print(res)
print(res.decode())
# 傳送資料
conn.send("好好學習,天天向上".encode())
# 6.四次揮手
conn.close()
# 7.退還埠
sk.close()