zoukankan      html  css  js  c++  java
  • tcp远程控制命令输出

    # 服务端
    
    import socket
    import subprocess
    
    # 开机
    phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
    # 绑定ip,端口
    phone.bind(('127.0.0.1', 8080))
    
    # 监听
    phone.listen(5)
    
    # 链接循环
    while 1:
        # 接收最大1024个bytes
        conn, addr = phone.accept(1024) 
    
        # 通信循环
        while 1:
            # 异常处理
            try:
                data = conn.recv(1024)
    
                # unix下不能接收空
                if len(data) == 0:break
    
                res = subprocess.Popen(bata.decode('gbk'),   (windows默认字符编码‘gbk’)      
                shell=True, stderr=subprocess.PIPE, 
                stdout=subprocess.PIPE)
    
                resout = res.stdout.read()
                reserr = res.stderr.read()
    
             # windows下接收空退出   
             except Exception:
                break
        
        conn.close()
    
    phone.close() 
    # 客户端
    
    import socket
    
    phone= socket.socket(socket.AF_INET, socket.SCOK_STREAM)
    
    # 连接
    phone.connect(('127.0.0.1', 8080))
    
    # 循环输出
    while 1:
        msg = input('请输入命令>>>').strip()
    
        # 不能输入空
        if len(msg) == 0:continue
    
        # 发送消息
        phone.send(msg.encode('gkb'))
        
        data = phone.recv(1024)
    
        print(data.decode('gbk'))
    
    # 关闭
    phone.close    

    运行服务端,再运行客户端(当然这是自己和自己玩...),输入个 dir 命令试一下:

                        

     恩,就这样。。

  • 相关阅读:
    U1
    std::vector的内存释放
    (转)浅谈PostgreSQL的索引
    PostgreSQL的generate_series函数应用
    linux 里的`反引号
    wireshark抓取本地回环数据包
    linux shell中 if else以及大于、小于、等于逻辑表达式介绍
    c++利用互斥锁实现读写锁
    c++互斥锁的实现
    大小端,"字节序"
  • 原文地址:https://www.cnblogs.com/qjk95/p/12738734.html
Copyright © 2011-2022 走看看