Wil*_*llF 3 networking http tornado
我刚刚开始涉足一些游戏开发,想创建一个简单的多人游戏。使用 HTTP 作为多人游戏的主要通信协议是否可行。我的游戏不会每秒发出多个请求,而是每隔几秒发出一个请求。客户端将是移动设备。
我问的原因是,我认为尝试使用 Tornado 可能会很有趣,据报道,Tornado 具有良好的扩展性,支持非阻塞请求,并且可以处理“数千个并发用户”。
所以我的客户端可以发出一个 HTTP 请求,当游戏服务器有信息告诉它时,它就会响应该请求。我相信这说明了一些人所说的 COMET 设计模式。
我知道在套接字级别工作的开销较少,但我只是想知道考虑到我的游戏要求这是否可行?或者我只是想疯了?
提前致谢。
问:使用 HTTP 作为多人游戏的主要通信协议是否可行?
答:使用 HTTP 作为通信协议可能对您的游戏有意义,也可能没有,但这由您决定。我为 Windows Mobile、Blackberry、Android 和 iPhone 开发应用程序已有 10 多年的时间。一直回到CE 1.0。考虑到这一点,这是我的观点。
首先,我建议按照 Teddy 的建议阅读 RFC 3205。它详细解释了我的建议的原因。
一般来说,HTTP 很好,因为......
HTTP 可能不好,因为...
如果你正在编写服务器和客户端,那么我会直接使用 TCP。如果您已经了解 python,那么请使用twisted 网络库。只需按照教程进行操作,您就可以在一个小时左右的时间内搭建一个简单的服务器。
查看 LineReceiver 示例,了解一个超级简单的服务器,您可以使用任何 telnet 客户端进行测试。 http://twistedmatrix.com/projects/core/documentation/howto/servers.html