混亂的行爲,我想學習蟒蛇絞網絡框架,但有一兩件事讓我感到困惑。通過telnet初步測試表明,每當它接收數據的protocol.Protocol.dataReceived()
方法被調用。所以,如果我這樣定義它,它等待的EOL發射前:dataReceived()方法蟒蛇扭曲的框架
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
由於之前dataReceived
火災(docs)