我正在用Java开发一个聊天应用程序。
使用的架构是服务器 - 客户端架构 大部分代码都是Java,JavaFX代表GUI,PostgreSQL代表数据库。
由于这是一个聊天应用程序(桌面),我想知道哪个是存储聊天记录的最佳方式:
基于三种方式的一些问题:
答案 0 :(得分:0)
我会说Nr2 - 出于安全原因(如果你关心它)并且因为它是一种非常简单的方法。 首先,具有4列的数据库应该足够(日期/时间,ChatroomID,UserID或只是名称和消息本身)。如果用户发送新消息,则会创建一个包含列所需的所有信息的新行。当客户端重新加载时(可能每10秒钟),您也可以轻松地遍历它
答案 1 :(得分:0)
我处于类似的情况,我也在开发一个0的聊天,唯一的区别是我正在为iOS做这个。
我正在开发聊天的方式是:
我使用的是Ubuntu网络服务器。
服务器在Mysql中有一个数据库,与用户的通信是通过NodeJS完成的。
最初我基于这个数据库来了解如何构建我的应用程序:https://github.com/yoosuf/Messenger
Socket.IO非常容易使用,最好的是它有不同编程语言的库,这里是它的页面: https://socket.io/ https://github.com/socketio/socket.io
答案 2 :(得分:0)
在您的三个选择中,我建议您选择选项#2来存储聊天记录:数据库,这就是原因:
总而言之,保持Java客户端 - 服务器 - 数据库架构非常好,从技术上讲,所有3个选项都可以工作,但数据库是存储聊天记录的方法!即使设置数据库需要一些工作,但由于数据库是为存档数据而构建的,因此在所描述的其他两种方法中,它被证明在效率和安全性方面更胜一筹。