zoukankan      html  css  js  c++  java
  • 客户端作业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='')
    
  • 相关阅读:
    【正则】限定符-总
    【正则】字符类-总
    【正则】元字符-总
    【正则】基本知识点
    Linux 核心系统命令目录
    股票模型
    windows 批量删除用户
    cka 英文考试题
    cka 英文考试题
    李永乐说股票
  • 原文地址:https://www.cnblogs.com/shin09/p/11695335.html
Copyright © 2011-2022 走看看