Я не могу отправлять и получать данные одновременно с использованием сокетов в python
Я не могу придумать, что можно сделать, чтобы это исправить.
#Server
import socket
import time
host = socket.gethostname()
port = 1222
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(5)
cs, address = s.accept()
print("connected {0}".format(str(address)))
while True:
time.sleep(0.5)
msg = input()
cs.send(msg.encode("utf-8"))
data = cs.recv(1024)
print(data.decode("utf-8"))
#Client
import socket
import time
from threading import Thread
host = socket.gethostname()
port = 1222
password = "Moffitt123"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
while True:
print('connecting')
try:
s.connect((host, port))
except:
print('failed')
time.sleep(1)
else:
break
while True:
datar = s.recv(1024)
print(datar.decode("utf-8"))
datas = s.send(input().encode("utf-8"))
Невозможно отправить несколько сообщений подряд, одно необходимо отправить, а затем другое. Я хочу иметь возможность отправлять несколько сообщений подряд с любой стороны и получать их все.