2024-04-20 08:41:57 发布
网友
我想制作一个实时游戏,我想使用NodeJS SocketIO或aiohttp,直到我遇到django频道,然后阅读它的文档。在
这是一个很好的模块
问题:
首先,通道只是一个异步任务队列。它非常类似于芹菜,主要区别在于性能和可靠性。 渠道比芹菜快,但芹菜更可靠。为了给它添加更多上下文,通道只执行一次任务(不管它是失败还是成功)。另一方面,celery执行任务,直到任务失败一定时间或成功为止。
现在,来回答您的问题并以这个例子为例。在
Suppose you were to build clash of clans using channels & web-sockets.
1)是的,只要您为异步队列中的任务失败的情况编写自定义逻辑,通道就适合实时游戏。
web套接字将通过通道发送和接收消息。因此,如果一个玩家在战场上部署部队的请求没有成功发送到服务器,您需要编写自定义逻辑来处理这种情况(比如在将请求从任务队列中转储之前至少尝试3次)。在
2)不是真的。它们几乎是一样的。最终,您将不得不使用web套接字和队列,在这里您可以同时激发/接收消息。
3)是的,您必须在应用程序(android、iOS、桌面)中实现一个web套接字,它将通过通道从后端发送/接收消息。
首先,通道只是一个异步任务队列。它非常类似于芹菜,主要区别在于性能和可靠性。 渠道比芹菜快,但芹菜更可靠。为了给它添加更多上下文,通道只执行一次任务(不管它是失败还是成功)。另一方面,celery执行任务,直到任务失败一定时间或成功为止。
现在,来回答您的问题并以这个例子为例。在
1)是的,只要您为异步队列中的任务失败的情况编写自定义逻辑,通道就适合实时游戏。
web套接字将通过通道发送和接收消息。因此,如果一个玩家在战场上部署部队的请求没有成功发送到服务器,您需要编写自定义逻辑来处理这种情况(比如在将请求从任务队列中转储之前至少尝试3次)。在
2)不是真的。它们几乎是一样的。最终,您将不得不使用web套接字和队列,在这里您可以同时激发/接收消息。
3)是的,您必须在应用程序(android、iOS、桌面)中实现一个web套接字,它将通过通道从后端发送/接收消息。
相关问题 更多 >
编程相关推荐