做一個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()
Python socket的客戶端
相關文章
- 客戶端的socket是否需要bind?客戶端
- C++客戶端程式(socket)C++客戶端
- python中socket建立客戶連線Python
- .net socket.io客戶端使用過程客戶端
- 【windows socket+TCP伺服器客戶端】WindowsTCP伺服器客戶端
- 【windows socket+UDP伺服器客戶端】WindowsUDP伺服器客戶端
- 【windows socket+HTTP伺服器客戶端】WindowsHTTP伺服器客戶端
- 客戶端與服務端Socket通訊原理詳解客戶端服務端
- Socket最簡單的客戶端與服務端通訊-Java客戶端服務端Java
- Linux下簡單的ACE socket客戶端和伺服器端Linux客戶端伺服器
- socket.io 客戶端與伺服器應用客戶端伺服器
- C語言透過socket實現TCP客戶端C語言TCP客戶端
- C#Socket伺服器與客戶端的開發(3)C#伺服器客戶端
- 「完整案例」基於Socket開發TCP傳輸客戶端TCP客戶端
- 如何用Java Socket實現一個簡單的Redis客戶端JavaRedis客戶端
- 基於CMPP2.0的Socket客戶端(Java) - JAVA程式語言客戶端Java
- python socketserver處理客戶端的流程PythonServer客戶端
- php原生socket實現客戶端與服務端資料傳輸PHP客戶端服務端
- python實現兩臺不同主機之間進行通訊(客戶端和服務端)——SocketPython客戶端服務端
- Laravel後臺作為客戶端,socket.io作為服務端,App或其他作為另一個客戶端Laravel客戶端服務端APP
- python建立tcp服務端和客戶端PythonTCP服務端客戶端
- Python MQTT客戶端 paho-mqttPythonMQQT客戶端
- socket實現服務端多執行緒,客戶端重複輸入服務端執行緒客戶端
- Rest Post示例(java服務端、python客戶端)RESTJava服務端Python客戶端
- 《samba搭建win客戶端和linux客戶端的區別》Samba客戶端Linux
- dubbo客戶端客戶端
- Pulsar客戶端客戶端
- mqtt 客戶端MQQT客戶端
- PHP-Socket服務端客戶端傳送接收通訊例項詳解PHP服務端客戶端
- Java Socket程式設計系列(三)開發支援單客戶端訪問的ServerJava程式設計客戶端Server
- MQTTJava客戶端的使用MQQTJava客戶端
- redis客戶端的使用Redis客戶端
- IE客戶客戶端程式開發的利器Bindows客戶端
- 客戶端,服務端客戶端服務端
- 服務端,客戶端服務端客戶端
- 使用 Python 的 Tkinter模組 開發 IRC 客戶端Python客戶端
- Nacos - 客戶端心跳續約及客戶端總結客戶端
- 記筆記:C# Socket客戶端監聽伺服器端處理方案【同步】筆記C#客戶端伺服器