#服务端
import socket
import subprocess
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
phone.bind(('127.0.0.1',8080))
phone.listen(5)
while True:
conn,client_addr=phone.accept()
while True:
try:
data=conn.recv(1024)
if not data:
break
obj=subprocess.Popen(data.decode('utf-8'),shell=True,
stdout=subprocess.PIPE
)
res=obj.stdout.read()
conn.send(res)
except Exception as x:
print(x)
break
conn.close()
phone.close()
#客户端
import socket
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
phone.connect(('127.0.0.1',8080))
while True:
msg=input("输入命令>>>: ").strip()
if msg=='y':
break
if len(msg) == 0:continue
phone.send(msg.encode('utf-8'))
data=phone.recv(1024)
print(data.decode('gbk'))
phone.close()
#输入命令>>>: dir D:\cool\db.txt
#驱动器 D 中的卷没有标签。
#卷的序列号是 000C-7900
# D:\cool 的目录
#2020/04/20 周一 22:10 6 db.txt
# 1 个文件 6 字节
# 0 个目录 76,673,855,488 可用字节