私はdjango-socketioライブラリを使用しています。
あるビューでは、すべてのクライアントにメッセージを送信したいと考えています。しかし、次のコードを使用すると:
from django_socketio import broadcast
def some_view(request):
data = {"message": "Some message"}
broadcast(data)
return HttpResponse('Ok')
エラーが発生します:
There are no clients.
しかし、イベントからブロードキャストを送信すれば、大丈夫です。
from django_socketio.events import on_message, on_subscribe
@on_subscribe(channel='machine')
def machine_cash_handler(request, socket, context, message):
broadcast(data)