Is django-channels suitable for real time game?

时间:2017-08-05 10:53:29

标签: python django django-channels

I want to make a real time game, I wanted to use NodeJS-SocketIO or aiohttp, Until I met django-channels, then i read its documentation.

This is a good module

Questions:

  1. Is django-channels suitable for real time game?
  2. Does django-channels have an advantage over aiohttp/nodejs-socketio?
  3. Is it suitable for all client (android, IOS, desktop)?

1 个答案:

答案 0 :(得分:3)

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

现在,回答你的问题&以这个例子为例。

  

假设你要使用频道&来构建部落冲突   网络套接字。

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

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

2)不是真的。他们几乎是一样的。最终你必须使用网络套接字和您可以同时触发/接收消息的队列。

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