使用 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