Как ждать ответа от клиента после отправки клиенту что-то с помощью django-каналов?Ожидание websocket.receive consumer в django-channels
Group.send()
Всякий раз, когда вызывается из функции send_to_client()
и после получения сообщения от клиента, send_to_client()
ожидает ответ от клиента, который становится принятый на websocket.receive
канале.
Есть ли способ вернуть response_msg
в send_to_client()
функции?
Теперь я достиг here
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