Python socket的客戶端


做一個socket客戶端
1、聲明一個實例
2、綁定端口號和地址
3、循環發送和接收響應
其中要注意粘包的產生,為了防止粘包的產生,應該在服務器端先測出要發送信息的大小,
然后發送響應至客戶端,等到服務器上一條信息發送完畢,客戶再響應准備好接收下一條信息
這樣就不會有粘包的產生
import socket
client = socket.socket()

client.connect(('localhost',9999))

while True:
cmd = input(">>:").strip()
if len(cmd) == 0:continue
client.send(cmd.encode("utf-8"))
cmd_res_size = client.recv(1024)
print("命令結果大小:",cmd_res_size)
client.send("我准備好了".encode("utf-8")) #響應服務器端發送請求,為防止粘包的產生
received_size = 0
received_data =b''
while received_size < int(cmd_res_size.decode()):
data = client.recv(1024)
received_size += len(data)
received_data += data
else:
print("cmd res receive done...",received_size)
print(received_data.decode())

client.close()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM