我想做一个实时游戏,我想使用NodeJS或aiohttp,直到我遇到django-channels,然后我阅读它的文档。
这是一个不错的模块
问题
发布于 2018-01-16 12:06:44
首先,通道只不过是一个异步任务队列。它和芹菜非常相似,主要的区别在于性能和可靠性。渠道比芹菜快,但芹菜更可靠。要向它添加更多的上下文,通道只执行一次任务(不管任务是失败还是成功)。另一方面,芹菜执行的任务,直到任务失败了一定的时间或它成功。
现在,来问你的问题&以这个例子为例。
假设您要使用通道&web套接字构建的部族冲突。
1) 是的,只要您为异步队列中的任务失败的情况编写自定义逻辑,通道就适合于实时游戏。
网络套接字将通过通道发送和接收消息。因此,如果玩家在战场上部署部队的请求没有成功发送到服务器,则需要编写自定义逻辑来处理这种情况(例如,在将请求从任务队列中丢弃之前,至少尝试3次)。
2)不完全是。他们差不多一样。最终,您将不得不使用web套接字&一个可以同时发送/接收消息的队列。
3)是的,您必须在应用程序(android、iOS、桌面)中实现一个web套接字,它将通过.从后端发送/接收消息。
https://stackoverflow.com/questions/45521079
复制相似问题