Какова роль папок src и dist?

Заводы - это просто объекты. Чтобы передавать данные от одного к другому, вы определяете и вызываете методы и передаете данные в качестве параметра или устанавливаете атрибуты. Я думаю, что этот вопрос faq поможет вам:

Как мне сделать ввод одного результата соединения на выходе другим?

Кажется, что это вопрос с Twisted, но на самом деле это вопрос Python. Каждый объект Protocol представляет одно соединение; вы можете вызвать его transport.write, чтобы записать в него некоторые данные. Это обычные объекты Python; вы можете поместить их в списки, словари или любую другую структуру данных, подходящую для вашего приложения.

В качестве простого примера добавьте список на свой завод, а в connectionMade и connectionLost , добавьте его и удалите из этого списка. Вот код Python:

from twisted.internet.protocol import Protocol, Factory
from twisted.internet import reactor

class MultiEcho(Protocol):
    def connectionMade(self):
        self.factory.echoers.append(self)
    def dataReceived(self, data):
        for echoer in self.factory.echoers:
            echoer.transport.write(data)
    def connectionLost(self, reason):
        self.factory.echoers.remove(self)

class MultiEchoFactory(Factory):
    protocol = MultiEcho
    def __init__(self):
        self.echoers = []

reactor.listenTCP(4321, MultiEchoFactory())
reactor.run()
blockquote>

147
задан Florian Breisch 19 May 2014 в 06:48
поделиться