tutorial traduccion recetas meaning food python networking twisted

python - traduccion - Trenzado: envío de datos a clientes seleccionados



twisted recetas (1)

Este servidor lo hice con Twisted, que recibe cadenas de un cliente y las envía a todos los otros clientes conectados. Pero, ¿hay alguna forma de enviar la cadena solo a los clientes a los que el remitente quería enviarla? Si es así, ¿cómo lo hago en el código? Esto es lo que hice hasta ahora (NOTA: soy un novato completo en Python. Solo necesito crear un servidor para mi aplicación iOS, así que lamento si la pregunta es tonta):

from twisted.internet.protocol import Protocol, Factory from twisted.internet import reactor class IphoneChat(Protocol): def connectionMade(self): #self.transport.write("""connected""") self.factory.clients.append(self) print "clients are ", self.factory.clients def connectionLost(self, reason): self.factory.clients.remove(self) def dataReceived(self, data): #print "data is ", data a = data.split('':'') if len(a) > 1: command = a[0] content = a[1] msg = "" if command == "iam": self.name = content msg = "iam" + self.name + " has joined" elif command == "msg": msg = self.name + ": " + content elif command == "img": msg = command + ":" + content + ":" + command elif command == "img2": msg = content elif command == "img3": msg = content print msg for c in self.factory.clients: c.message(msg) def message(self, message): self.transport.write(message + ''/n'') factory = Factory() factory.protocol = IphoneChat factory.clients = [] reactor.listenTCP(53080, factory) print "Iphone Chat server started" reactor.run()

Gracias por la ayuda


self.factory.clients[24].transport.write("You are client 24!")

Creo que debería funcionar