-3

我正在设计一个聊天应用程序,其中数据将存储在 mysql 数据库中,并由 php 脚本进行操作。

我希望有可能开发几个不同的客户。向客户端公开 php 脚本的功能的最佳选择是什么?

谢谢

4

1 回答 1

2

(正如我在上面的评论中所说,这根本不是 MVC 模式。)

通常,您可以通过开发 Web 服务来公开在您的服务器上运行的应用程序的某些功能(并将数据存储在您的数据库中)来实现您想要实现的目标。您需要定义要在客户端和服务之间交换的消息格式。这通常基于 JSON 或 XML 语法。

还有几点:

-Data- 为了存储数据,即消息和用户信息,我选择了 mysql,因为这是 apache 上可用的。

MySQL 在 Apache (Httpd) 上不可用。Apache 和 MySQL 之间几乎没有任何关系,除了将它们捆绑在一起的“LAMP”堆栈这一事实之外。原则上,没有什么可以阻止您使用其他 RDBMS(例如 PostgreSQL、MS SQL...)甚至 NoSQL 数据库。

-Controller- 要访问和操作数据,我选择了 php,因为这是 apache 上可用的。

同样,PHP 是在 Apache Httpd 上运行的流行选择,但 PHP 远不是唯一的选择(例如,您可以在 Python 或 Perl 中实现服务)。

-查看(客户端)- 可以开发不同的客户端,只要它们可以与有权访问数据库的 php 脚本交互。目前,我正在使用 Java 构建客户端。它的优点是既可以用作小程序,也可以用作可以下载的独立应用程序。

现在是 2013 年,Java 小程序已成为过去的技术。(独立 Java 应用程序或服务器端 Java 是不同的。)

我将安排 cron 作业来选择每个聊天室中的最后一条消息。这些消息将被写入文件。每个聊天室都有自己的文件。要读取消息,客户端必须请求相应的文件并将其内容呈现给用户。要将消息发送到聊天室,客户端必须调用 php 脚本来传递目标聊天室、用户 ID 等信息。数据库上的插入会很重,但读取会稍微轻一些。

这是过早优化或优化不足的明显案例(cron 作业最多每分钟运行一次,不适合聊天室)。一个设计良好的数据库(例如具有适当索引的)在处理聊天室流量时可能没有问题。在尝试深入了解此类细节之前,您可能需要阅读更多关于 Web 服务和数据库的信息。

于 2013-07-23T01:10:37.043 回答