django-channelsを使用してクライアントに何かを送信した後、クライアントからの応答を待つ方法は?
関数Group.send()
から呼び出されsend_to_client()
、クライアントがメッセージを受信すると、チャネルsend_to_client()
で受信されたクライアントからの応答が返されることを期待しています。websocket.receive
response_msg
insend_to_client()
関数を返す方法はありますか?
今ここにたどり着きました
Sample Code for consumers.py:
def ws_receive(message):
response_msg = message.content['text']
return response_msg
def send_to_client(param1, param2, param3):
Group.send({
"text" : json.dumps({
"First" : param1,
"Second" : param2,
})
})
したがって、メッセージがクライアント側に到達すると、クライアントはサーバーに応答を返します。これは、ファイルで定義されているチャネルをws_receive(message)
介して関数によって受信されます。websocket.receive
urls.py
channel_patterns = [
route("websocket.receive", ws_receive),
...
]
私の関数がこのようになるようにこれを行う方法はありますか?
def send_to_client(...):
Group.send(...)
response_msg = #response message from client