dataReceived
とinlineCallbacks
のルールを誤って解釈しているようです。私はこれを行うときTwistedでProtocol.dataReceivedのインラインコールバック
は具体的には、:
def dataReceived(self, data):
self.transport.write('ok')
を私の議定書は、実際にデータを送信しますが、私はこれを行うとき:
@defer.inlineCallbacks
def dataReceived(self, data):
a = yield True # this stands for some adbapi call actually
self.transport.write('ok')
を私は何も受信しない場合、接続がちょうど終了します。 defer.returnValueもここで役立ちませんが、動作はまったく同じです。
親切に説明してください。
私はIRC上であなたの質問を見ました。そこに記載されているように、あなたのコードにもう少し詳しい情報を提供できますか?おそらくあなたの実際のコードに似ているシンプルなアプリケーションです。私たちはあなたにそのように助けてくれるでしょう。 –