day36 作业

服务端

import subprocess

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server.bind(('127.0.0.1', 8081))

server.listen(5)

while True:
    conn, client_addr = server.accept()
    print('客户端的ip和端口', client_addr)

    while True:
        try:
            data = conn.recv(1024)
            if len(data) == 0: break
            print('客户端发来信息:', data.decode('utf-8'))
            obj = subprocess.Popen(
                data.decode('utf-8'),shell=True,
                stdout=subprocess.PIPE,
                stderr=subprocess.PIPE
            )
            res = obj.stdout.read().decode('gbk')
            if res:
                conn.send(res.encode('utf-8'))
            else:
                conn.send('没有指令'.encode('utf-8'))
        except Exception:
            break

    conn.close()

客户端


client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

client.connect(('127.0.0.1', 8081))

while True:
    msg = input('请输入指令:').strip()
    if len(msg) == 0: continue
    client.send(msg.encode('utf-8'))
    data = client.recv(1024)
    print(data.decode('utf-8'))

client.close()

猜你喜欢

转载自www.cnblogs.com/wjxyzs/p/12742051.html