Python ツイスト インターネット フレームワークを学習しようとしていますが、1 つのことが混乱しています。telnet を使用した初期テストでは、protocol.Protocol.dataReceived()
データを受信するたびにメソッドが呼び出されることが示されています。したがって、次のように定義すると、起動する前に EOL を待機します。
def dataReceived(self, data):
print "MyProtocol::dataReceived, (%s)" %(data)
出力:
MyProtocol::dataReceived, (dgdfg
)
ただし、余分な行を追加するとすぐに:
def dataReceived(self, data):
print "MyProtocol::dataReceived, (%s)" %(data)
self.transport.write(data)
すべての文字に対して発火します。
出力:
MyProtocol::dataReceived, (d)
MyProtocol::dataReceived, (g)
MyProtocol::dataReceived, (d)
MyProtocol::dataReceived, (f)
MyProtocol::dataReceived, (g)
MyProtocol::dataReceived, (
)
ここで何が起こっているかについてのアイデアはありますか?
工場はprotocol.Factory
あり、プロトコルはprotocol.Protocol
ありがとう