python - Python游戏程序的抽象和客户端/服务器架构问题

标签 python client-server abstraction

这就是我现在所在的位置。我正在设计一款纸牌游戏,目的是在未来的工作中利用主要组件。让我困惑的部分是在服务器和客户端之间创建一个抽象层。启动服务器,然后一个或多个客户端可以连接(本地或远程)。我正在设计一个胖客户端,但我的 friend 正在考虑做一个基于网络的客户端。我想以一种允许各种不同的客户端调用一组通用的服务器命令的方式设计服务器。

因此,首先,我想创建一个管理游戏规则和玩家交互的“服务器”,以及本地 CLI 上的“客户端”(为了方便起见,我运行的是 Ubuntu Linux)。我试图充实这两个部分如何交互,而不强制要求 future 的客户端基于 CLI 或在本地计算机上。

我发现以下两个问题很有用,但没有完全回答上述问题。

我不需要立即提供任何功能齐全的东西;我只是想建立基本的抽象机制,以便生成的模型代码能够适本地反射(reflect)这种关系:客户端/服务器关系与一体化应用程序有不同的假设。

我从哪里开始?您推荐哪些资源?

免责声明: 我熟悉各种语言的代码和一般编程/逻辑概念,但几乎没有编写大量代码的实际经验。这个宠物项目就是纠正这个问题的尝试。

此外,我知道信息已经存在,但我有强烈的印象,我只见树木不见森林。

最佳答案

阅读 RESTful 架构。

您的胖客户端可以使用 REST。它将使用 urllib2 向服务器发出 RESTful 请求。它可以以 JSON 表示法交换数据。

Web 客户端可以使用 REST。它可以发出简单的浏览器 HTTP 请求,或者 Javascript 组件可以使用 JSON 发出更复杂的 REST 请求。

您的服务器可以使用任何简单的 WSGI 组件构建为简单的 WSGI 应用程序。标准库中有不错的,或者您可以使用 Werkzeug 。您的服务器仅接受 REST 请求并做出 REST 响应。您的服务器可以使用 HTML(对于浏览器)或 JSON(对于胖客户端或 Javascript 客户端)。

关于python - Python游戏程序的抽象和客户端/服务器架构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1291179/

相关文章:

java - java泛型声明需要派生类

c++ - 使用模板对单个 c++ 对象和 std::pair 对象进行抽象

python - 在 pandas 数据帧上运行套索和岭回归

python - 根据当前时间戳获取会计年度-python

python - 加速 GPU 与 CPU 矩阵运算

java - 在客户端-服务器环境中建模用户类的最佳实践

c - 服务器只能接受n个客户端

java - 子类、抽象和继承

python - Django ValidationError 日期格式异常

c - C 中的 block 中的 read() 和 write() 非文本文件