одновременная работа 2ух скриптов

Есть проект, в нём 2 файла:

1 файл с именем Server.py

import socket
server_socket = socket.socket()
server_socket.bind(('127.0.0.1', 5090))
server_socket.listen(1)
conn, addr = server_socket.accept()
#content = 'hello friend'
#answer = sock.sendall((content).encode())
print ('connected:', addr)

while True:
    data = conn.recv(1024)
    if not data:
        break
    conn.send(data.upper())

conn.close()

И 2 файл с именем Client.py

import socket

sock = socket.socket()
sock.connect(('127.0.0.1', 5090))
sock.send('hello, world!')

data = sock.recv(1024)
sock.close()

print (data)

Как сделать их одновременное выполнение? Или по другому говоря чтобы их соединить


Ответы (1 шт):

Автор решения: gil9red

Решение через subprocess:

import subprocess
import sys
import time

server = subprocess.Popen([sys.executable, 'server.py'])
time.sleep(2)  # Даем время серверу на запуск

client = subprocess.Popen([sys.executable, 'client.py'])

server.wait()

server.py:

import socket
server_socket = socket.socket()
server_socket.bind(('127.0.0.1', 5090))
server_socket.listen(1)
conn, addr = server_socket.accept()
print('connected:', addr)

while True:
    data = conn.recv(1024)
    if not data:
        break
    conn.send(data.upper())

conn.close()

print('closed')

client.py:

import socket

sock = socket.socket()
sock.connect(('127.0.0.1', 5090))
sock.send('hello, world!'.encode('utf-8'))

data = sock.recv(1024)
sock.close()
→ Ссылка