Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django AsyncWebsocketConsumer与AsyncConsumer_Django_Websocket_Django Channels - Fatal编程技术网

Django AsyncWebsocketConsumer与AsyncConsumer

Django AsyncWebsocketConsumer与AsyncConsumer,django,websocket,django-channels,Django,Websocket,Django Channels,我试图在我的项目中使用频道2。这是我第一次在Django见到channel:) 我这里有两个主要的有用且几乎完整的来源:1)youtube上的视频2)中国频道的文档 由于我不知道我的代码将来会发生什么,我需要您帮助我选择使用source#1中提到的AsyncConsumer,或source#2中用于启动Django频道应用程序的AsyncWebsocketConsumer,包括以下内容: from channels.generic.websocket import AsyncWebsocketC

我试图在我的项目中使用
频道2
。这是我第一次在Django见到channel:) 我这里有两个主要的有用且几乎完整的来源:1)youtube上的视频2)中国频道的文档

由于我不知道我的代码将来会发生什么,我需要您帮助我选择使用source#1中提到的
AsyncConsumer
,或source#2中用于启动
Django频道应用程序的
AsyncWebsocketConsumer
,包括以下内容:

from channels.generic.websocket import AsyncWebsocketConsumer
from channels.consumer import AsyncConsumer
说明:

class AsyncConsumer:
    """
    Base consumer class. Implements the ASGI application spec, and adds on
    channel layer management and routing of events to named methods based
    on their type.
    """

class AsyncWebsocketConsumer(AsyncConsumer):
    """
    Base WebSocket consumer, async version. Provides a general encapsulation
    for the WebSocket handling model that other applications can build on.
    """
我使用频道的目标是:尝试集成实时聊天、通知/警报/将数据传输到特定情况下的客户端。(现在应用程序在没有Websocket和DRF的情况下工作)


如果您有任何建议、想法或注意事项,我将非常乐意倾听。非常感谢。

频道是一个用于使用不同协议的项目,包括但不限于HTTP和WebSockets,如上所述。
AsyncConsumer
是派生其他协议特定使用者类的基本通用使用者类。其中一个类是您提到的
AsynWebsocketConsumer
。顾名思义,它是用来处理websockets的,所以如果你想在你的实时应用程序中使用websockets,那么这就是你应该使用的类。还有一个用于使用HTTP的方法。您很可能希望使用WebSocket,因此请使用
AsynWebsocketConsumer
或其衍生产品
AsyncJsonWebsocketConsumer

我还建议您阅读文档,以便更详细地了解受支持的协议以及如何以及何时使用它们