1

ツイストでは、self.transport.write () と self.sendLine () の呼び出しの違いは何ですか? たとえば、次のプログラムは、 lineReceived メソッドで何を呼び出しても同じように動作します。

class FooProtocol(basic.LineReceiver):

    delimiter = '\n'

    def connectionMade(self):
        self.sendLine("Foo")

    def lineReceived(self, line):
        self.sendLine("Echoed: " + line)
        #self.transport.write("Echoed: " + line + "\n")

if __name__ == "__main__":
    stdio.StandardIO(FooProtocol())
    reactor.run()

これを行うためのよりpythonic(またはtwstedic ...)な方法はありますか?

前もって感謝します !

4

1 に答える 1

5

sendLine()便利な方法です。デフォルトの実装は次のとおりです。

def sendLine(self, line):
    return self.transport.write(line + self.delimiter)

sendLine()少し高レベルの関数です。self.transport.write()回線指向のプロトコルで直接使用する必要はありません。

于 2012-12-24T17:54:49.423 に答える