简单socketclient和server编写
socket连接原理图
socket server端
1 #-*- coding:utf-8-*- 2 import socket 3 4 ip_port=('127.0.0.1',9999) #客户端IP地址,想连接的端口号 5 6 ss = socket.socket() 7 ss.bind(ip_port) 8 ss.listen() 9 10 11 while True 12 print("waiting connextion") 13 conn,addr = ss.accept() 14 client.data = conn.recv(1024) 15 16 17 print(client_data) 18 conn.sendall('hello world‘) 19 conn.close()
socketclient端
import socket client = socket.socket() client.connect(('127.0.0.1',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) received_size = 0 received_data = b'' while received_size < int(cmd_res_size.decode()) : data = client.recv(1024) received_size += len(data) #每次收到的有可能小于1024,所以必须用len判断,避免粘包 #print(data.decode()) received_data += data else: print("cmd res receive done...",received_size) print(received_data.decode()) client.close()