Warten auf eine Antwort vom Client nach dem Senden des Clients etwas mit Django-Kanälen?Warten auf websocket.receive consumer in django-channels
Immer dann, wenn von der Funktion Group.send()
send_to_client()
und nach dem Empfang der Nachricht durch den Client aufgerufen wird, wird send_to_client()
eine Antwort zurück von dem Client erwartet, die auf websocket.receive
Kanal empfangen zu werden.
Gibt es eine Möglichkeit, die response_msg
in send_to_client()
Funktion zurückzugeben?
Jetzt habe ich erreicht 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,
})
})
Also, wenn die Nachricht auf der Clientseite erreicht, wird der Client mit dem Server eine Antwort zurückschicken, die durch die ws_receive(message)
Funktion empfangen werden durch der websocket.receive
Kanal, der in der urls.py
Datei definiert ist,
channel_patterns = [
route("websocket.receive", ws_receive),
...
]
Gibt es eine Möglichkeit dies zu tun, damit meine Funktion so aussieht?
def send_to_client(...):
Group.send(...)
response_msg = #response message from client