• 客户端作业day26


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

    三次握手

    img

    四次挥手

    img

    2.基于TCP开发一款远程CMD程序

    客户端连接服务器后,可以向服务器发送命令
    服务器收到命令后执行,无论执行是否成功,无论执行几遍,都将执行结果返回给客户端

    注意: 执行系统指令使用subprocess模块完成.

    服务端

    from socket import *
    import subprocess
    
    server=socket(AF_INET,SOCK_DGRAM)
    server.bind(('127.0.0.1',9003))
    
    while True:
        #收消息
        cmd,addr=server.recv(1024)
        print('用户命令----->',cmd)
    
        #逻辑处理
        res=subprocess.Popen(cmd.decode('utf-8'),shell=True,stderr=subprocess.PIPE,stdin=subprocess.PIPE,stdout=subprocess.PIPE)
        stderr=res.stderr.read()
        stdout=res.stdout.read()
    
        #发消息
        server.sendto(stderr,addr)
        server.sendto(stdout,addr)
    server.close()
    

    客户端

    from socket import *
    
    client=socket(AF_INET,SOCK_DGRAM)
    
    while True:
        msg=input('>>: ').strip()
        client.sendto(msg.encode('utf-8'),('127.0.0.1',9003))
    
        data,addr=client.recv(1024)
        print(data.decode('utf-8'),end='')
    
  • 相关阅读:
    C++中的explicitkeyword
    Stream使用教程
    Java实现最长回文串
    Java实现最长回文串
    Java实现最长回文串
    Java实现选择问题
    Java实现选择问题
    Java实现选择问题
    Java实现选择问题
    Java实现选择问题
  • 原文地址:https://www.cnblogs.com/shin09/p/11695335.html
Copyright © 2020-2023  润新知