擅长:python、mysql、java
<p>TCP是一种面向流的协议,而不是面向包的协议。当您调用<code>transport.write</code>时,该数据将被附加到TCP流中,并可能以任何数量的数据包发送出去;它可能被拆分,或者与下一个或上一个对<code>write</code>的调用粘在一起。这是一个相当的<a href="http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#Whyisprotocol.dataReceivedcalledwithonlypartofthedataIcalledtransport.writewith" rel="nofollow">frequently asked question about Twisted</a>,但是每个人问它的时候都会略有不同。在</p>
<p>您希望使用诸如<a href="http://twistedmatrix.com/documents/current/api/twisted.protocols.amp.html" rel="nofollow">AMP</a>,或者更基本的<a href="http://twistedmatrix.com/documents/current/api/twisted.protocols.basic.LineReceiver.html" rel="nofollow">LineReceiver</a>这样的协议构造工具来划分协议中的消息,而不是依赖于数据包边界的随机性。在</p>