Webサーバーとして動作する多数のTornadoプロセス間の通信をセットアップしたいと考えています。 tornado.web.RequestHandler
を使用してください。アイデアは、私はプロセス間で完全メッシュネットワークが必要だということです。私は4つのプロセスを持っていると私はtornado.tcpserver
とtornado.tcpclient
を使用して、それらの間の継続的な恒久的な通信を確立したい:Tornado TCPサーバー/クライアントプロセス通信
T1---T2
| \ /|
| \/ |
|/\ |
T3---T4
私は竜巻のドキュメントで見てきた例では、しかし、TCPのプログラミングに新しいです:http://www.tornadoweb.org/en/stable/iostream.html のクラスtornado.iostream.IOStream
にソケットが確立されると、すべての通信が完了してからソケットが閉じられます。この例では、コールバックが通信の義務を果たすブロックを介してコードを実行します。
しかし、TCP接続を開き、クライアントがサーバに書き込むときにのみBaseIOStream.read_until_close()
をアイドル状態にして呼び出すことは可能ですか?
つまり、クライアントとサーバーは接続されたままになり、クライアントがサーバーに書き込みを行うと、何らかの理由でTornado IOLoopがread()を呼び出すのを中断しますか?
私の考えは間違っています。これを行う方法は、通信するプロセスが必要なたびに新しいTCP接続を確立し、作業を行い、接続を切断します。それはちょうど)(
基本的に私は、TCPServerにWebSocketHandler.on_message()と同等のものがあるのだろうかと疑問に思っています。 –