day 26作业

作业:
1.整理TCP三次握手、四次挥手图

2.基于TCP开发一款远程CMD程序
    客户端连接服务器后,可以向服务器发送命令
    服务器收到命令后执行,无论执行是否成功,无论执行几遍,都将执行结果返回给客户端
    
    注意: 执行系统指令使用subprocess模块完成.
#server

import subprocess
import socket
import time
server = socket.socket()
server.bind(
    ('127.0.0.1', 8434)
)

server.listen(2)

while True:
    conn, addr = server.accept()
    print(addr)
    while True:
        try:
            data = conn.recv(1024).decode('utf8')
            print(f'from client{addr}: {data}')

            a = subprocess.getoutput(data)
            if a:
                conn.send(a.encode('utf8'))
            else:
                conn.send('success'.encode('utf8'))
        except Exception as e:
            print(e)
            break
            time.sleep(0.01)
            
            
            
            #client
import socket

client = socket.socket()

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

while True:
    send_msg = input('client--> server:')

    client.send(send_msg.encode('utf8'))

    data = client.recv(1024).decode('utf8')

    print(f'from server: {data}')

猜你喜欢

转载自www.cnblogs.com/zhulipeng-1998/p/11695392.html