Клиент-серверное приложение на Python
Хотел чтобы при отправке запроса на сервер, он выполнял команду и возвращал то что он вывел.
Шаги:
- С клиент на сервер пишу "123"
- Сервер выполняет команду
- Дальше сервер должен отправить то что он вывел на клиент
Извините, в питоне я новичок. Не ругайте пожалуйста
Клиент:
from socket import *
import sys
import PySimpleGUI as sg
host = 'localhost'
port = 777
addr = (host,port)
tcp_socket = socket(AF_INET, SOCK_STREAM)
tcp_socket.connect(addr)
data = input('write to server: ')
if not data :
tcp_socket.close()
sys.exit(1)
data = str.encode(data)
tcp_socket.send(data)
data = bytes.decode(data)
data = tcp_socket.recv(1024)
print(data)
Сервер:
from socketserver import *
import PySimpleGUI as sg
import os
import psutil
host = 'localhost'
port = 777
addr = (host,port)
class MyTCPHandler(StreamRequestHandler):
def handle(self):
self.data = self.request.recv(1024)
print ('client send: '+str(self.data))
if self.data == b'123':
cpu = psutil.cpu_times()
conn.send(b'1233')
if __name__ == "__main__":
server = TCPServer(addr, MyTCPHandler)
print('starting server... for exit press Ctrl+C')
server.serve_forever()