progredes20261/sockets/servidor_chat.py

32 lines
922 B
Python
Raw Normal View History

2026-04-18 00:47:22 +00:00
import socket
import threading
2026-05-09 00:38:09 +00:00
import time
2026-04-18 00:47:22 +00:00
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):
2026-05-09 00:38:09 +00:00
funcionar = True
2026-04-18 00:47:22 +00:00
while True:
2026-05-09 00:38:09 +00:00
try:
if funcionar:
mensagem = cliente.recv(8000)
for socket_cliente in clientes:
if socket_cliente != cliente:
socket_cliente.send(mensagem)
else:
time.sleep(5)
2026-05-09 00:20:40 +00:00
except Exception as e:
2026-05-09 00:38:09 +00:00
print(f"Ocorreu um erro inesperado: {e}")
funcionar = False
2026-04-18 00:47:22 +00:00
while True:
cliente, endereco_cliente = servidor.accept()
2026-05-09 00:20:40 +00:00
print("Cliente conectado:", endereco_cliente)
2026-04-18 00:47:22 +00:00
clientes.append(cliente)
thread = threading.Thread(target=ouvir_cliente, args=[cliente,])
thread.start()