Django Channels:如何刷新发送缓冲区
Posted
技术标签:
【中文标题】Django Channels:如何刷新发送缓冲区【英文标题】:Django Channels: How to flush send buffer 【发布时间】:2018-01-12 21:53:29 【问题描述】:我正在使用带有 Channels 的 Django 1.10 作为我正在构建的应用程序的后端。 我已经在我的客户端(Angular 4)和 Django 之间建立了 websocket 通信。一切正常,但我有点困惑。
考虑以下代码:
@channel_session
def ws_receive(message):
for a in range(10):
message.reply_channel.send('text': json.dumps('test': '123'))
time.sleep(1)
我在客户端 在 for 循环完成迭代后收到响应,在本例中为 10 秒后。
问题:是否可以刷新send
“缓冲区”,这意味着message.reply_channel.send
函数将立即发送?
【问题讨论】:
【参考方案1】:即时回复集immediately=True
:
message.reply_channel.send('text': json.dumps('Hejsa!!': 'hihi'), immediately=True)
【讨论】:
以上是关于Django Channels:如何刷新发送缓冲区的主要内容,如果未能解决你的问题,请参考以下文章
Django Channels 不向 Android App 发送消息
通过 celery 向 django-channels 发送消息
使用来自外部Consumer类的Django Channels发送消息