day36 练习

#服务端
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 可用字节

 

posted @ 2020-04-20 22:27  It's_cool  阅读(96)  评论(0)    收藏  举报