progredes20261/sockets/servidor_chat.py

32 lines
922 B
Python

import socket
import threading
import time
servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
servidor.bind(("0.0.0.0",5000))
servidor.listen()
print("Servidor inicializado!!!")
clientes = []
def ouvir_cliente(cliente):
funcionar = True
while True:
try:
if funcionar:
mensagem = cliente.recv(8000)
for socket_cliente in clientes:
if socket_cliente != cliente:
socket_cliente.send(mensagem)
else:
time.sleep(5)
except Exception as e:
print(f"Ocorreu um erro inesperado: {e}")
funcionar = False
while True:
cliente, endereco_cliente = servidor.accept()
print("Cliente conectado:", endereco_cliente)
clientes.append(cliente)
thread = threading.Thread(target=ouvir_cliente, args=[cliente,])
thread.start()