首页 > 解决方案 > 如何修复客户端 - 服务器之间的反向命令管理?

问题描述

我正在构建一个远程管理工具包,以便使用 python 远程控制我的机器树莓派,但是我的代码有点相反。我不是发送命令,而是被树莓派控制

控制器

import socketserver
from datetime import datetime
import json, os

class MyTCPHandler(socketserver.BaseRequestHandler):

    def handle(self):
        print('{} - {} CONNECTED.'.format(datetime.now(), self.client_address))
        while True:
            self.request.send(bytes(os.popen(str(self.request.recv(1024),encoding='utf-8')).read(),encoding='utf-8'))

if __name__ == "__main__":

    HOST, PORT = "localhost", 9999

    server = socketserver.ThreadingTCPServer((HOST, PORT), MyTCPHandler)

    try:
        server.serve_forever()
    except KeyboardInterrupt:
        server.shutdown()
        server.server_close()

客户

import socket
import json

client = socket.socket()
client.connect(('localhost',9999))

while True:
    msg = input(">>: ").strip()
    client.send(msg.encode("UTF-8"))

    data = client.recv(1024) #  Receiving 1024 bytes

    if not data == b'successful':
        print('resending')
    print(data)

client.close()

标签: python

解决方案


推荐阅读