The server with Threading:
import socket
from threading import Thread
def Servidor():
servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ip = "0.0.0.0"
porta = 8884
servidor.bind((ip, porta))
servidor.listen(5)
while True:
socket_client, adddress = servidor.accept()
dados = socket_client.recv(2048)
print("Cliente: ", dados.decode("utf8"))
msg = input("Servidor: ")
enviados = socket_client.send(msg.encode("utf8"))
servidor.close()
MeuServidor = Thread(target=Servidor,args=[])
MeuServidor.start()
the client:
import socket
ip ="localhost"
porta = 8884
cliente = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
cliente.connect((ip,porta))
while True:
msg = input("Cliente: ")
cliente.send(msg.encode("utf8"))
# print("Cliente: ", msg)
recebido = cliente.recv(1024)
print("Servidor: ", recebido.decode("utf8"))
cliente.close()
What's happening: The server only accepts a single client!