-0-
import socket client = socket.socket() client.connect(("localhost", 6971)) ##开始连接 (ServerIP,ServerPort) while True: msg = input("Please input the message>>") if len(msg) == 0:continue client.send(msg.encode("utf-8")) msg_size = client.recv(2048) ##如果发送的数据大于接受的数据,就会出现接受不完整,存在缓冲区。要等缓冲区上一条的命令结果的数据发送完,才会发送新的数据 print("size:",msg_size,type(msg_size.decode())) #test sentence client.send("准备接受数据了".encode("utf-8")) ##这两行是为了防止粘包 receive_sizeS = 0 receive_data = b'' while receive_sizeS < int(msg_size.decode("utf-8")): data = client.recv(2048) receive_sizeS += len(data) receive_data +=data else: print("The data has done.") print(receive_data.decode()) print("datasize:",len(receive_data)) client.close()