djangchannels适合实时游戏吗?

2024-04-20 08:41:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想制作一个实时游戏,我想使用NodeJS SocketIO或aiohttp,直到我遇到django频道,然后阅读它的文档。在

这是一个很好的模块

问题

  1. django频道适合实时游戏吗?在
  2. django频道比aiohttp/nodejs socketio有优势吗?在
  3. 是否适用于所有客户端(android、IOS、桌面)?在

Tags: 模块django文档游戏客户端aiohttpnodejs频道
1条回答
网友
1楼 · 发布于 2024-04-20 08:41:57

首先,通道只是一个异步任务队列。它非常类似于芹菜,主要区别在于性能和可靠性。 渠道比芹菜快,但芹菜更可靠。为了给它添加更多上下文,通道只执行一次任务(不管它是失败还是成功)。另一方面,celery执行任务,直到任务失败一定时间或成功为止。

现在,来回答您的问题并以这个例子为例。在

Suppose you were to build clash of clans using channels & web-sockets.

1)是的,只要您为异步队列中的任务失败的情况编写自定义逻辑,通道就适合实时游戏。

web套接字将通过通道发送和接收消息。因此,如果一个玩家在战场上部署部队的请求没有成功发送到服务器,您需要编写自定义逻辑来处理这种情况(比如在将请求从任务队列中转储之前至少尝试3次)。在

2)不是真的。它们几乎是一样的。最终,您将不得不使用web套接字和队列,在这里您可以同时激发/接收消息。

3)是的,您必须在应用程序(android、iOS、桌面)中实现一个web套接字,它将通过通道从后端发送/接收消息。

相关问题 更多 >