server
# -*- coding: utf-8 -*-
# @author: Gogh
# date: 2017/12/20 22:12
# @Email:361910002@qq.com
import socket,subprocess
ip_port = ('127.0.0.1', 8000)
sk = socket.socket()
sk.bind(ip_port)
sk.listen(3)
while True:
conn, addr = sk.accept()
while True:
try:
data = conn.recv(1024)
print("welcome conne>>>>>", addr)
except Exception as e:
break
print(str(data, 'utf8'))
if not data:
conn.close()
conn, addr = sk.accept()
continue
obj = subprocess.Popen(str(data, 'utf8'), shell=True, stdout=subprocess.PIPE)
cmd_result = obj.stdout.read()
result_len = bytes(str(len(cmd_result)),'utf8')
conn.sendall(result_len)
conn.sendall(cmd_result)
sk.close()
client
# -*- coding: utf-8 -*-
# @author: Gogh
# date: 2017/12/20 22:12
# @Email:361910002@qq.com
import socket
ip_port = ('127.0.0.1', 8000)
sk = socket.socket()
sk.connect(ip_port)
while True:
inp = input('>>>>>')
if inp == 'exit':
break
sk.send(bytes(inp, 'utf8'))
result_len = int(str(sk.recv(1024), 'utf8'))
# print(result_len)
data = bytes()
while len(data) != result_len:
recv = sk.recv(1024)
data += recv
print(str(data, 'gbk'))
# data = sk.recv(1024)
# print(str(data, 'gbk'))
sk.close()