2

http 投稿要求を受け入れ、その投稿要求の情報を tcp 接続に書き込むねじれたサーバーを作成しようとしています。現在、チュートリアルで指定されている複数のエコー サーバー/クライアントを変更したところです。

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


class MultiClientEcho(Protocol):
    def __init__(self, factory):
        self.factory = factory

    def connectionMade(self):
        self.factory.clients.insert(self.factory.id, self)
        self.factory.id += 1
        self.ip = self.transport.getPeer()

    def dataReceived(self, data):
        self.factory.clients[0].transport.write(data)

    def connectionLost(self, reason):
        self.factory.clients.remove(self)


class MultiClientEchoFactory(Factory):
    def __init__(self):
        self.clients = []
        self.id = 0

    def buildProtocol(self, addr):
        return MultiClientEcho(self)


reactor.listenTCP(8000, MultiClientEchoFactory())
reactor.run()

私は、Twisted がこの種のことを処理できることを理解するようになりました。もしそうなら、誰かがコードや簡単な例で正しい方向に向けることができますか? 私はしばらくの間、この壁に頭をぶつけていました。

ありがとう

4

0 に答える 0