Hallo ich verwende Tornado
, Django
frammwork auf Backend zu Sockets Nachrichten auf Frontend zu behandeln. Ich bin nicht sehr vertraut mit meinem Projekt, aber es gibt eine Datei in meinem Projekt, wo Klassen sind, die websocket.WebSocketHandler
und web.Application
implementieren. Dies ist Teil der DateiWie sende ich Nachricht an Web-Socket mit Tornado
class Application(web.Application):
"""
Main Class for this application holding everything together.
"""
def __init__(self):
PROJECT_NAME = os.path.basename(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = PROJECT_NAME + 'tutorial/settings'
# Handlers defining the url routing.
handlers = [
('/room', SocketHandler),
('/room/([a-zA-Z0-9|=%]*)$', SocketHandler),
('/video_call', VideoCallSocketHandler),
('/video_call/([a-zA-Z0-9|=%]*)$', VideoCallSocketHandler),
]
Im Frontend Teil ist eine Funktion:
var ws = new WebSocket('wss://domain.com:9003/video_call/' + conferenceId);
ws.onmessage = function (ev) {
window.location.replace(redirectUrl);
};
ich, dass diese Funktion optimal auszunutzen der Nachricht von unserem mobilen aplication glaube.
Also das Problem ist, dass ich möchte Nachricht an diese URL oder was auch immer es ist 'wss://domain.com:9003/video_call/' + conferenceId
von meiner Python-Ansicht senden.
zum Beispiel:
def some_view_function(request, **kwargs):
conference_id = request.GET.data['conferenceId']
...
if something:
send message to wss://domain.com:9003/video_call/' + conference_id
Wie kann ich das tun?
Wie definiere ich 'conference_id' in' send_to_queue'. Woher weiß die Funktion, an welchen "WebSocket" die Nachricht gesendet wurde? – Przemek