是否有任何方法強制self.transport.write(response)立即寫入其連接,以便下一次調用self.transport.write(response)不會被緩存到同一個調用中。Twisted transport.write
我們有一個客戶端,使用我們無法修改的遺留軟件,讀取第一個請求,然後再次開始閱讀,我遇到的問題是扭曲,將兩個寫入打到一起,打破了客戶端的任何想法, deferreds但我不認爲它會在這種情況下幫助
例子:
self.transport.write("|123|") # amount of messages to follow
a loop to generate next message
self.transport.write("|message 1 text here|")
預計:
|123|
|message 1 text here|
結果:
|123||message 1 text here|
嗨,我知道這是一箇舊帖子,但你能告訴我你做了什麼來解決這個問題嗎? – 2012-04-09 06:24:43
對於它的價值,無法完全可靠地完成這項工作。有一天,你可能會購買一些不同的交換機或路由硬件,並且你的應用會中斷。這個扭曲的常見問題解答試圖解釋:http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#Whyisprotocol.dataReceivedcalledwithwithlylypartatahedataataIdledportport.writewith – Glyph 2013-07-22 21:33:55