将数据发送到Django渠道使用者

问题描述 投票:1回答:1

我有以下基本的Django Channels使用者:

class EchoConsumer(AsyncJsonWebsocketConsumer):

    async def connect(self):
        await self.accept()
        await self.send_json('Connected!')

并且,与此并行,我有一个普通的Python脚本,该脚本连接到websocket并实时接收一些数据:

from binance.client import Client
import json
from binance.websockets import BinanceSocketManager

client = Client('', '')

# get all symbol prices
prices = client.get_all_tickers()


trades = client.get_recent_trades(symbol='BNBBTC')
# start aggregated trade websocket for BNBBTC
def process_message(message):
    JSON1 = json.dumps(message)
    JSON2 = json.loads(JSON1)

    #define variables
    Rate = JSON2['p']
    Quantity = JSON2['q']
    Symbol = JSON2['s']
    Order = JSON2['m']

    print(Rate, Quantity, Order)

bm = BinanceSocketManager(client)
bm.start_trade_socket('BNBBTC', process_message)
bm.start()

我想执行以下操作:第二个脚本应该以某种方式将数据发送给Django Channels使用者,而不是仅打印接收到的数据。每当用户打开页面时,该页面应接收该数据。如果第二个用户同时打开页面,则该第二个用户也应接收数据。是否有可能做到这一点?我应该使用其他服务吗?

python django websocket django-channels
1个回答
0
投票

因此,如果要将此数据发送到当前所有open Websocket连接,则可以执行以下操作。

© www.soinside.com 2019 - 2024. All rights reserved.