tcp連接發送命令客戶端接收后返回結果給服務端


 

服務端

import socket

sk = socket.socket()
sk.bind(('127.0.0.1',4567))
sk.listen()

conn, addr = sk.accept()

while 1:
    cmd = input('please input your cmd:')
    if cmd=='q':
        conn.send(b'q')
        break
    conn.send(cmd.encode('gbk'))
    ret =conn.recv(1024).decode('gbk')
    print(ret)
conn.close()
sk.close()

客戶端:  

subprocess模塊用來接收執行命令, 

res = subprocess.Popen(cmd,shell=True,用來設置系統執行
                     stdout=subprocess.PIPE,存放結果 stderr=subprocess.PIPE存放錯誤結果
import socket
import subprocess

sk = socket.socket()
sk.connect(('127.0.0.1',4567))

while 1:
    cmd = sk.recv(1024).decode('gbk')
    if cmd == b'q':
        break
    # cmd = 'ipconfig'
    res = subprocess.Popen(cmd,shell=True,
                     stdout=subprocess.PIPE,
                     stderr=subprocess.PIPE)
    # print(res.stdout.read().decode('gbk'))
    sk.send(res.stdout.read())
    sk.send(res.stderr.read())

sk.close()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM