2018-08-14 10:52:10
这篇先暂时这么写了……还没来得及设置任何样式
1、客户端
1 import socket,os 2 #创建套接字 3 client = socket.socket() 4 #连接一个套接字地址 5 client.connect(('localhost',9999)) 6 while True: 7 #输入一个DOS或者shell命令 8 cmd = input(">> ").strip() 9 if len(cmd) == 0: continue10 client.send(cmd.encode("utf-8"))11 data_size = client.recv(1024)12 print("返回长度: ",data_size.decode())13 recv_size = 014 recv_data = b''15 #连续接收数据16 while recv_size != int(data_size.decode()):17 data = client.recv(1024)18 recv_size += len(data)19 recv_data +=data20 else:21 #接收完成,输出结果22 print(recv_data.decode())23 print("recv done...",recv_size)
2、服务器端
1 import socket,os 2 server = socket.socket() 3 #绑定并且监听该端口 4 server.bind(('localhost',9999)) 5 server.listen() 6 7 while True: 8 #接收一个客户端的连接 9 conn, addr = server.accept()10 print("新连接",addr)11 while True:12 print("等待新连接")13 data = conn.recv(1024)14 if not data:15 print("客户端已经断开连接")16 break17 print("开始发送数据")18 cmd_res = os.popen(data.decode()).read() #接受字符串,读取字符串19 if len(cmd_res) == 0:20 cmd_res = 'cmd has no input...'21 print("发送长度",len(cmd_res))22 conn.send(str(len(cmd_res.encode("utf-8"))).encode("utf-8"))23 print("执行指令", data)24 conn.send(cmd_res.encode("utf-8"))25 print("发送数据完成")26 print(cmd_res)