day26(作业)

day 26(作业)

1

TCP连接的建立(三次握手)img

TCP连接的释放(四次挥手)img

02

# 服务端
import socket
import subprocess

server=socket.socket()
server.bind(('127.0.0.1',9608)) # 输入ip+port,主机地址,服务地址
server.listen(5)
while True:
    conn,addr=server.accept() # conn相当于服务端往客户端挖的管道
    print('client-id;',addr)
    while True:
        try:
            data=conn.recv(1024).decode('utf-8')
            print('client-msg;',data)
            if not data:
                continue
            if data=='q':
                break
            res=subprocess.Popen(data,stdout=subprocess.PIPE, stderr=subprocess.PIPE,shell=True)
            err=res.stderr.read()
            out=res.stdout.read()
            if err:
                print(err)
                gs=err
            else:
                print(out)
                gs=out
            msg=f'''信息;{data}
                    错误或结果;{gs}'''
            conn.send(msg.encode('utf-8'))
        except Exception as e:
            print(e)
            break

    conn.close()
    cl=input('是否结束;')
    if cl=='q':
        break

# 客户端
import socket

client = socket.socket()
client.connect(('127.0.0.1', 9608))
while True:
    send_msg = input('client--server;')
    client.send(send_msg.encode('utf-8'))
    if send_msg == 'q':
        break
    data = client.recv(1024).decode('utf-8')
    print('server--msg;',data)
client.close()
原文地址:https://www.cnblogs.com/luocongyu/p/11694462.html