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