【问题标题】:Chat Architecture - php + mysql + different clients [closed]聊天架构 - php + mysql + 不同的客户端 [关闭]
【发布时间】:2013-07-23 00:45:08
【问题描述】:

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

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

谢谢

【问题讨论】:

  • 看起来您正在尝试使其遵循 MVC 模式,但您所描述的并不是真正的 MVC 模式,这在这种情况下不起作用。 (除此之外,M 和 V 之间的联系在哪里?)

标签: java php mysql client chat


【解决方案1】:

(正如我在上面的评论中所说,这根本不是 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 实现服务)。

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

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

我将有 cron 作业来选择每个聊天中的最后一条消息 房间。这些消息将被写入文件。每个聊天室都会 有它的文件。要阅读消息,客户必须要求 相应的文件并将其内容呈现给用户。发送 向聊天室发送消息,客户端必须调用 php 脚本 传递目的地聊天室、用户 ID 等信息 on.. 数据库上的插入会很重,但读取会有点 打火机。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多