Как поочередно принимать сообщения от клиента и обрабатывать их на сервере?
Не могу реализовать сервер так, чтобы он поочередно принимал сообщения и обрабатывал их (возвращал в алфавитном порядке). Сервер принимает только первое сообщение и игнорирует остальные.
SERVER
import socket
def sorttext(text):
w = text.split()
e = ""
for r in sorted(w):
e = e + " \n" + r
return e.encode('utf-8')
sock = socket.socket()
sock.bind(('', 5055))
sock.listen()
print('waiting for connection...')
try:
while True:
try: conn, addr = sock.accept()
except sock.error: pass
data = conn.recv(1024)
if not data:
break
conn.send(sorttext(data.decode("utf-8")))
print("Client > " + data.decode("utf-8"))
conn.send(data)
finally:
conn.close()
CLIENT
import socket as Socket
sock = Socket.socket()
sock.connect(('localhost', 5055))
while True:
sock.send(input("enter massage: ").encode('utf-8'))
data = sock.recv(1024)
udata = data.decode("utf-8")
print("Server > " + udata)
sock.close()
UPD Server: теперь сообщение от клиента доходят до сервера но не обрабатываются
while True:
data = conn.recv(1024)
print("Client > " + data.decode("utf-8"))
conn.send(sorttext(data.decode("utf-8")))
conn.send(data)