局域网LanQQ聊天项目

一、简介       

        在汇文上嵌入式培训课,做了这个局域网内的QQ聊天项目,收获很多,把这段经历写成博客,自己也总结一下,同时也分享一下经验。

二、项目要求

在局域网内构建功能类似于QQ的综合的聊天系统,该聊天系统主要包括以下功能:

        (1) 服务端

                1.1    新用户注册,老用户验证登录,管理员可以对用户实行管理,管理功能有:删除用户并永远不能再注册、对用户进行限时禁言、指定管理人。

                1.2    点对点私聊和群聊两种,群聊人数至少10人,对传输内容加密处理,加密方法自定。

                1.3    对聊天内容进行记录和保存。管理员可对聊天记录进行管理,删除,导出之类的。

                1.4    对聊天内容进行关键词过滤,管理员可设置敏感词句,发现聊天内容有敏感词句,立即进行详细记录。

                1.5    管理员可对所有用户广播,如果用户不在线,登录后推送广播信息。

                1.6    离线消息。

                1.7    点对点文件传输。

                1.8    服务程序必须是守护进程。

        (2)客户端

                2.1    注册、登录、改密、信息接收方式。

                2.2    私聊、群聊。

                2.3    被删除、禁言提示。

                2.4    文件传输。

       内容提示:

               1、 对用户数据的保存和管理可以使用两种办法:数据库管理和文件管理。如何使用数据库可以使用本地数据库sqlite,也可以使用mysql。

                2、消息记录经过加密后保存于本地文件中,没有用户密码是无法查阅记录内容。群聊时的记录,要记录每个说话人,说话时间等信息。

                3、对多个客户端的接入使用线程,思考好线程之间的同步问题。

                4、要制定相对完整的通讯协议,和文件格式。

                5、数据的加密可以采用标准算法如SHA,RSA等,也可以自定义特别的算法,加密级别不限制,只要内容无法直接阅读即可。传输的加密并不是指使用SSL,而是指把要传输的内容变换后传输,传输两边进行加解密即可。加密记得要把用户的密码用进去。

                6、使用合适的Log机制,对程序进行运行或者错误跟踪。

三、项目图片展示(下面是我的录的视频的一些截图)

        (1) 登录界面

局域网LanQQ聊天项目_第1张图片

        (2)加好友

局域网LanQQ聊天项目_第2张图片

       (3)私聊

局域网LanQQ聊天项目_第3张图片

       (4)群聊

局域网LanQQ聊天项目_第4张图片

       (5)管理员登录界面

局域网LanQQ聊天项目_第5张图片

(6)管理的主界面

局域网LanQQ聊天项目_第6张图片


四、下面几篇博客详细讲解一下项目完成过程

数据库和通信协议的设定:http://blog.csdn.net/u010889616/article/details/48413283

整体框架的设计:http://blog.csdn.net/u010889616/article/details/48413629


代码下载链接http://download.csdn.net/detail/u010889616/9103059

你可能感兴趣的:(小作品,Linux高级编程)