Websocket を使用してクライアント/サーバー アプリを作成しようとしています。Autobahn websocket を通信媒体として使用することを考えています。クライアントはサーバーにコマンドを送信してタスクを実行し、サーバーからの一連の進行状況の応答を待ちます。サーバーでは、クライアントからコマンドを受け取った後、一連のタスクを実行してから、クライアントに self.sendMessage ("percent completed") % (percent) を呼び出します。私が遭遇した問題は、sendMessage がすべてのメッセージをバッファリングし、最後に一度に送信したように見えることです。この問題を解決する方法について何か考えはありますか? 以下は、websocket/example/echo/server.py のコード スニペットです。
import sys
import time
from twisted.internet import reactor
from twisted.python import log
from twisted.web.server import Site
from twisted.web.static import File
from autobahn.websocket import WebSocketServerFactory, \
WebSocketServerProtocol, \
listenWS
class EchoServerProtocol(WebSocketServerProtocol):
def onMessage(self, msg, binary):
self.sendMessage("server respond message 1", binary)
time.sleep (2)
self.sendMessage("server response message 2", binary)
time.sleep (2)
self.sendMessage("server response message 3", binary)
私は、クライアントがサーバーから 2 秒ごとにメッセージを受信することを期待しています。代わりに、3 つのメッセージすべてを一度に取得します。