在扭曲中,调用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(或twistedic ......)方式吗?
提前感谢!
答案 0 :(得分:4)
sendLine()
是一种方便的方法。默认实现是:
def sendLine(self, line):
return self.transport.write(line + self.delimiter)
sendLine()
是一个略高级别的功能。您不需要在面向行的协议中直接使用self.transport.write()
。