Linux下基于Socket聊天软件的研究与实现毕业设计论文Word文档下载推荐.docx
《Linux下基于Socket聊天软件的研究与实现毕业设计论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Linux下基于Socket聊天软件的研究与实现毕业设计论文Word文档下载推荐.docx(64页珍藏版)》请在冰豆网上搜索。
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
日期:
年 月 日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
日期:
年
月
日
导师签名:
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、
程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装
订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优 □良 □中 □及格 □不及格
2、学生掌握专业知识、技能的扎实程度
3、学生综合运用所学知识和专业技能分析和解决问题的能力
4、研究方法的科学性;
技术线路的可行性;
设计方案的合理性
5、完成毕业论文(设计)期间的出勤情况
□优 □良 □中 □及格 □不及格二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优 □良 □中 □及格 □不及格三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
2、论文的观念是否有新意?
设计是否有创意?
3、论文(设计说明书)所体现的整体水平
建议成绩:
(在所选等级前的□内画“√”)
指导教师:
(签名) 单位:
(盖章)
年 月 日
评阅教师评价:
一、论文(设计)质量
□优 □良 □中 □及格 □不及格二、论文(设计)水平
评阅教师:
(签名)
单位:
(盖章)
评阅教师评阅书
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
2、对答辩问题的反应、理解、表达情况
3、学生答辩过程中的精神状态
评定成绩:
□优 □良 □中 □及格 □不及格教研室主任(或答辩小组组长):
(签名)
教学系意见:
系主任:
(签名)年 月 日
小组成员与分工明细 4
第1章前言 4
1.1系统研究的背景与意义 4
1.2即时通讯软件的研究与应用现状 4
1.3开发环境简介 5
1.3.1Linux系统简介 5
1.3.2开发语言及编程工具简介 5
1.4TCP/IP协议简介 6
1.4.1TCP协议简介 6
1.4.2UDP协议简介 7
第2章 相关技术介绍 8
2.1Linux的SOCKET编程介绍 8
2.1.1网络中进程之间如何通信 8
2.1.2Socket介绍 9
2.1.3Socket接口函数 9
2.2开源XML解析库简介 10
2.2.1TinyXML简介 10
2.1.2TinyXML的编译 10
第3章系统需求分析 12
3.1服务端 13
3.1.1监听并建立客户端的连接 13
3.1.2数据库的增删查改 13
3.1.3在线用户的管理 13
3.2客户端 13
3.3系统运行状态跟踪 14
第4章系统设计 14
4.1服务端 14
4.1.1接收客户端的连接 14
4.1.2数据库设计 15
4.1.3聊天模块设计 17
4.1.4服务器与客户端之间的心跳模型 18
4.2客户端 19
4.2.1用户界面设计 19
4.2.2功能模块设计 21
4.3log日志 21
第5章系统的实现 22
5.1服务端的实现 22
5.1.1服务器启动 22
5.1.2监听客户端 22
5.1.3服务器端与客户端连接成功 23
5.1.4服务器端与客户端通信 24
5.2客户端的实现 30
5.2.1与服务端建立连接 30
5.2.2用户注册实现 30
5.2.3用户登陆实现 34
5.2.5用户查询修改信息实现 36
5.2.6用户聊天 41
5.2.7用户退出 44
5.3log日志模块的实现 45
第6章部署运行 49
结 论 49
小组成员与分工明细
吕吕
201421031059
1.系统架构设计
2.数据库设计
3.服务端编码与测试
4.小组文档第3、4章书写
5.tinyxml的研究与编译
王琥
201421031134
1.需求分析
2.客户端部分编码
3.系统整体测试和测试文档书写
4.小组文档第5、6章、结束书写
5.演示视频录制
黄键华
201421031042
2.客户端部分编码与客户端测试
3.log日志系统实现
4.小组文档第1、2章书写
姓名
学号
分工明细
第1章前言
1.1系统研究的背景与意义
在网络无所不在的今天,在Internet上,有ICQ、MSN、Gtalk、OICQ,QQ等网络聊天软件,极大程度上方便了处于在世界各地的友人之间的相互联系,也使世界好像一下子缩小了,不管你在哪里,只要你上了网,打开这些软件,就可以给你的朋友发送信息,不管对方是否也同时在线,只要知道他有号码。
本次课程设计主要是为了加强对Linux系统下的编程的各种知识点的整合与灵活运用,让我们更加熟悉Linux下的编程操作。
重点在Linux下socket编程,了解TCP、UDP等协议的使用,并完成软件工程方向的实践。
Linux操作系统作为一个开源的操作系统被越来越多的人所应用,它的好处在于操作系统源代码的公开化!
只要是基于GNU公约的软件你都可以任意使用并修改它的源代码。
但对很多习惯于Windows操作系统的人来说,Linux的操作不够人性化、交互界面不够美观,这给Linux操作系统的普及带来了很大的阻碍。
因此制作一个Linux操作系统下的拥有人性化界面的实时通讯工具,将给那些刚刚接触Linux操作系统的用户带来极大的方便,而且通过设计这样的一个应用程序还能更好的学习网络编程知识和掌握Linux平台上应用程序设计开发的过程,掌握Socket网络通信编程的技术应用,将研究生阶段所学知识综合运用,以达到检验学习成果的目的。
1.2即时通讯软件的研究与应用现状
即时通讯软件的发展经历了BBS、IRC、ICQ和视频会议这几个过程,早期BBS、IRC
只能说是即时通讯软件的雏形,还算不上是真正的即时通讯软件,然丽它们却是即时通讯软件发展的必经之路,对真正的即时通讯软件的诞