
rubis
(usa CentOS)
Enviado em 04/11/2015 - 09:01h
E ai pessoal,
to tentando fazer um chat servidor/cliente, onde recebo até 10 clientes simultaneos e o cliente manda mensagem ao servidor. Até ai vários clientes conectados mandando mensagem e o servidor receber eu consegui fazer, mas preciso que o servidor repasse a mensagem para todo mundo conectado nele exceto o que mandou a mensagem, é a primeira vez que estou mechendo com socket então estou tendo dificuldade, segue meu arquivo servidor e cliente:
#!/usr/bin/python
import socket
import os
import sys
HOST = ''
PORT = 40000
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind ((HOST, PORT))
s.listen(10)
print 'aguardando conexao'
while True:
conn, cliente = s.accept()
print 'Conectado por: ', cliente
pid = os.fork()
if pid == 0:
s.close()
print 'Conectado por', cliente
while True:
data = conn.recv(1024)
if not data: break
print cliente, data
conn.send(data)
print 'Finalizando conexao do cliente', cliente
conn.close()
sys.exit(0)
else:
conn.close()