用 Python 编写基于浏览器的 MMO 服务器
Posted
技术标签:
【中文标题】用 Python 编写基于浏览器的 MMO 服务器【英文标题】:Writing browser-based MMO server in Python 【发布时间】:2012-02-20 15:11:31 【问题描述】:我想为一个基于浏览器的MMO游戏写一个服务器,它使用WebSocket进行通信,使用SQL Server作为数据库,服务器选择的语言是Python。我想知道哪些库可以提供 Websocket 和 MMO 支持,我应该使用 Stackless 还是 PyPy?
【问题讨论】:
你在gamedev.stackexchange.com问这个可能更好 如果您打算使用 SQL Server,您可能需要 .NET。如果您不想要 .NET,请不要使用 SQL Server。考虑 IronPython 或考虑另一个数据库(任何数据库) 你能推荐一个好的数据库系统吗? @ryanos SQL 几乎可以在任何平台上使用,因此真的不需要 .NET 【参考方案1】:ws4py是python 2.6和2.7的websocket库,this是为rfc6455定制的django-websocket。 Websocket 去年底变成了 RFC6455,所以你应该使用为其申请的库。这两个库都支持它。
ps Tornado 还支持来自 version2.2 的 RFC6455。
【讨论】:
【参考方案2】:看看Tornado。它应该包含你需要的所有东西。
【讨论】:
【参考方案3】:Tornado 绝对是您正在做的事情的好选择。它支持最新版本的 Web 套接字,如果您担心性能,它可以与 PyPy 配合使用。我已经有一个原型 MMO 可以使用这个设置并且效果很好。您也可以稍后添加新的连接类型。因此,您可以从 Web 套接字开始,但如果您将游戏客户端移植到移动设备上,您可以轻松地将 TCP 处理程序添加到游戏中。
在数据库方面,我会考虑寻找其他选项。也许 SQL Server 非常适合您的需求,但我更倾向于使用 Membase(最近重命名为 Couchbase)之类的东西,如果您可以在没有关系数据库的情况下这样做的话。只是因为它可以很好地扩展并且在云硬件上似乎非常高效。
祝你工作顺利。
【讨论】:
以上是关于用 Python 编写基于浏览器的 MMO 服务器的主要内容,如果未能解决你的问题,请参考以下文章
6.Django基于模拟浏览器的测试用例编写python-slugifydjango-taggit