最初に Twisted を使用したので、Tornado では双方向通信の問題に適切に取り組んでいない可能性があります。
データを受信する Twisted の方法は次のようになります。
class MyProtocol(Protocol):
def dataReceived(self, data):
# Figure out if this is a chunk of a previous message
# or if it's a new message
私はTornadoでこれを行っています.Tornadoは動作しているようですが、多少異なります:
class MyClient(object):
@coroutine
def main_loop(self):
while True:
message_header = yield Task(self.stream.read_bytes, 8)
# Read/write from here
ドキュメンテーションは、「よりクリーンな」アプローチ(またはその点でのアプローチ)を示唆していないようですが、これは正しい方法ですか?