Linux下的聊天室软件开题报告
2021-12-23 21:40:15
全文总字数:3221字
1. 研究目的与意义及国内外研究现状
目的:在这个信息大爆炸的计算机时代,互联网与计算机是这个时代至关重要的两个关键词。linux作为一个开源的操作系统,被利用到了个人计算机、手机、车载设备、超级计算机等各种电子设备中,由于他的低成本以及生生不息的生命力,linux也被诸多公司所青睐,用于各种服务器的构筑。然而,linux在各类实用软件的开发上相比windows还是略逊一筹的。针对这个问题,在linux平台下开发各类实用性软件也显得至关重要。在这样一个开源的系统下,聊天室软件是其不可或缺的一个实用性软件,一个高效的聊天室软件不管是在个人电脑的应用中还是在各种搭载linux的电子设备中,都能给使用者带来不小的便利。一个聊天室的软件编程的过程涉及到了大部分的c语言的知识以及很多linux的知识,这可以检测自己所学到的知识是否扎实,也可以让自己熟悉服务器与客户端之间的构架。通过这样的方式让学习从理论过渡到实践。在构筑的过程中,我将完成服务器与客户端的代码的编写以及套接字的连接,并在服务器端构建储存信息的数据库,以多线程的方式连接多个客户端。在客户端方面将采用gtk作为界面,以一种面向对象的方式完成编程,实现私聊群聊,超级用户禁言解禁等功能。过程中利用makefile优化编译,并利用gdk对代码进行bug的修补。最终成为一个功能齐全的聊天室。
意义: 在设计这个聊天室的过程中,能让自己对linux这个开源操作系统有更深的了解,也能够加深自己对tcp/ip协议的理解,对聊天室服务器的搭建过程的了解,以及对socket套接字、数据库、makefile等知识点的熟悉运用。还能让自己加深对c/s结构的理解以及用多线程实现多用户接入的过程。
2. 研究的基本内容
主要工作如下: (1)搭建c/s架构,利用多线程、socket套接字,完成客户端在服务器端的登录(三次握手)、连接以及数据的简单传输。 (2)在服务器端构建数据库,并完成用户的注册功能以及注册后信息的储存。结合客户端进行数据库数据存储的简单检验,确保能够成功注册并登录。
(3)利用gtk界面,完成客户端的界面布局,以及私聊、群聊、登录、注册、在线列表、聊天记录查询等功能的完成,并设定超级用户,在群聊中拥有禁言以及解禁的权限。用户还能在界面中对用户信息进行完善,增加聊天室环境多样性。
(4)利用makefile对多段代码同时进行编译,提高编程效率,并调查以及修改代码中产生的bug。
3. 实施方案、进度安排及预期效果
进度安排 12月1日~12月10日:毕业设计思考开题,查阅资料理解题目 12月10日~2月28日:毕业设计开题报告完成,确定设计方案 3月1日~3月10日:毕业设计资料整合完成,开始具体设计 3月10日~4月10日:完成改进设计进行应用 4月10日~5月15日:撰写论文准备答辩
预期效果 聊天室结构概览
|
4. 参考文献
邹月,陈建兵,socket的网络编程研究与实现,电脑编程技巧与维护,2009.04
王枫,罗家融,linux下多线程socket通讯的研究与应用,计算机工程与应用,2004.06
崔尚卿,在linux应用开发中创建gtk 构建的方法,现代计算机,2005.07