兰州商学院毕业论文-Linux下的类QQ软件开发.doc

上传人:b****3 文档编号:2489538 上传时间:2022-10-30 格式:DOC 页数:39 大小:649KB
下载 相关 举报
兰州商学院毕业论文-Linux下的类QQ软件开发.doc_第1页
第1页 / 共39页
兰州商学院毕业论文-Linux下的类QQ软件开发.doc_第2页
第2页 / 共39页
兰州商学院毕业论文-Linux下的类QQ软件开发.doc_第3页
第3页 / 共39页
兰州商学院毕业论文-Linux下的类QQ软件开发.doc_第4页
第4页 / 共39页
兰州商学院毕业论文-Linux下的类QQ软件开发.doc_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

兰州商学院毕业论文-Linux下的类QQ软件开发.doc

《兰州商学院毕业论文-Linux下的类QQ软件开发.doc》由会员分享,可在线阅读,更多相关《兰州商学院毕业论文-Linux下的类QQ软件开发.doc(39页珍藏版)》请在冰豆网上搜索。

兰州商学院毕业论文-Linux下的类QQ软件开发.doc

兰州商学院

本科生毕业论文(设计)

论文(设计)题目:

Linux下的类QQ软件开发

学院、系:

信息工程学院

计算机科学与技术系

专业(方向):

电子信息工程

年级、班:

2007级

学生姓名:

刘回民

指导教师:

彭会萍

2011年3月6日

2

声明

 

本人郑重声明:

所呈交的毕业论文(设计)是本人在导师的指导下取得的成果。

对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

因本毕业论文(设计)引起的法律结果完全由本人承担。

本毕业论文(设计)成果归兰州商学院所有。

 

特此声明

 

 

 

 

毕业论文(设计)作者签名:

刘回民

2011年5月25日

 

Linux下的类QQ软件开发

摘要

本文设计了如何使用QT图形开发库和C语言编写一个基于Linux平台运行的聊天软件的过程。

最终实现了QQ申请,QQ聊天,文件发送以及离线消息功能。

文章主要分为四个部分,第一部分主要分析了该类产品的一个发展过程和开发此类软件的背景及意义。

在此基础上,进一步的分析了该类产品的需求情况。

在第三章中详细的介绍了所选取的开发环境,通过了解这些知识将会对该类软件的开发流程有一个总体的认识。

之后,在通过对预备方案的分析和总结后,最终确定设计路线。

程序设计路线这一章节对该软件的各个功能模块和操作处理流程进行了详细的划分和设计,并且运用各种图表清晰的展现了软件的模块信息和总体结构。

软件的预期效果在这一章节中得到了体现,完成效果符合前期的需求分析。

最后总结了该软件开发的不足之处,还有软件需要完善的部分。

[关键词]Linux系统C/S结构TCP/IP协议网络编程图形用户界面

ABSTRACT

ThistextdesignedhowtouseQTgraphicstappinglibraryandClanguagetowriteaprocessofchatsoftwarethatcirculatesaccordingtotheLinuxplaten.FinallycarriedoutaQQapplication,QQchat,documentforwardandoff-linenewsfunction.Thearticleismainlydividedintofourfractions,theno1fractionmainlyanalyzesthetypeofashapeprocessofproductanddevelopsthiskindofbackgroundandmeaningofsoftware.Onthisfoundation,furtherconditionforanalyzingthedemandofthetypeofproduct.Indetailintroducedinthethirdchapterselectbyexaminationsoftappingenvironment,passingtounderstandtheseknowledgewillhavetotalunderstandingtothetypeoftappingflowprocessofsoftware.After,atapprovalvspreparationschemeofanalysisandsummaryafter,finallyrecognizedesignroute.Programmingroutethischapterhandledflowprocesstocarryonadetailedcurtateanddesignvseachfunctionmoldmassandoperationofthesoftware,andmadeuseofvariouscharttoclearlymakeashowofthemoldmassofsoftwareinformationandtotalstructure.Theexpectationeffectofthesoftwarereceivedanembodimentinthischapterandcompletedthedemandanalysisthattheeffectmatchespreviousperiod.Thescarcitythatfinallytalliedupthesoftware'stappingofsection,andthesoftwareneedsperfectfraction.

[Keyword]theLinuxsystemC/SstructureTCP/IPnegotiatethenetworkplaitdistance

目录

一、引言 1

(一)课题的背景及意义 1

(二)网络聊天软件的发展及现状 1

(三)TCP/IP协议简介 2

1、TCP协议简介 3

2、UDP协议简介 4

(四)套接字简介 5

(五)开发平台简介 5

1、Linux系统简介 5

2、QT图形开发库简介 6

3、编程语言和编程工具简介 7

(六)本章小结 8

二、软件需求分析 8

(一)软件功能需求 9

(二)总体性能需求 9

1、服务器端性能需求 9

2、客户端性能需求 9

3、错误处理需求 10

(三)本章小结 10

三、设计方案 10

(一)方案比较 10

1、采用TCP方式连接 10

2、采用UDP方式连接 11

(二)方案选择 12

(三)总体设计方案 13

1、服务器功能模块划分 13

2、客户端功能模块划分 14

3、消息标识的定义 15

4、消息结构体的设计 16

四、软件流程 18

(一)服务器消息处理流程 18

(二)客户端操作流程 19

(三)客户端消息发送和接收流程 19

(四)申请用户流程 22

五、详细设计 22

(一)服务器主要函数和变量 22

(二)服务器消息处理模块的设计与实现 23

1、用户登录消息处理模块:

23

2、添加好友信息处理模块:

24

3、删除好友信息处理模块:

24

4、用户聊天信息转发的处理模块:

24

5、用户下线消息处理模块:

24

6、离线消息处理模块:

25

7、删除离线消息处理模块:

25

(三)服务器数据存储的方法 25

(四)客户端主要窗口设计 26

(五)客户端主要函数和变量 28

(六)客户端功能模块的设计与实现 29

(七)本章小结 31

六、结论 31

参考文献 32

致谢 33

附录 34

IV

Linux下的类QQ软件开发

一、引言

(一)课题的背景及意义

在网络无所不在的今天,在Internet上,有ICQ、MSN、Gtalk、OICQ等网络聊天软件,极大程度上方便了处于在世界各地的友人之间的相互联系,也使世界好像一下子缩小了,不管你在哪里,只要你上了网,打开这些软件,就可以给你的朋友发送信息,不管对方是否也同时在线,只要知道他有号码。

Linux操作系统作为一个开源的操作系统被越来越多的人所应用,它的好处在于操作系统源代码的公开化!

只要是基于GNU公约的软件你都可以任意使用并修改它的源代码。

但对很多习惯于Windows操作系统的人来说,Linux的操作不够人性化、交互界面不够美观,这给Linux操作系统的普及带来了很大的阻碍。

因此制作一个Linux操作系统下的拥有人性化界面的实时通讯工具,将给那些刚刚接触Linux操作系统的用户带来极大的方便,而且通过设计这样的一个应用程序还能更好的学习网络编程知识和掌握Linux平台上应用程序设计开发的过程,将大学四年所学知识综合运用,以达到检验学习成果的目的。

(二)网络聊天软件的发展及现状

网络的诞生从某种意义上来说改变了我们的生活,它将这个世界的上不同地域的人之间的距离拉近了。

伴随着网络的诞生,网络聊天软件也随之而来。

最初的网络聊天软件只是有简单的文本界面,功能也十分有限,随着技术的不断发展与强大,拥有更多功能和美观界面的聊天程序走进了我们的生活,也有越来越多的人将网络聊天软件作为他们日常生活交流和通信的工具。

网络聊天软件在国外有ICQ等,在国内主要有OICQ、Ticq和一些基于网页的即时通讯工具,像Chinaren网站上的WebMaster等等,都做得即美观,且功能强大,OICQ现在拥有非常大的用户群。

现在也有很多在网络上不使用服务器的通讯软件,这种软件小巧且方便,也能解决一部分问题。

但是有服务器的通讯软件,有着不可比拟的优势:

可以发送离线消息,不管用户当时是否在线,下次上线时,就可以看到这条消息了。

可以保存用户的个人信息或个人简介,供人查看。

而且,无服务器的通讯软件,是以机器为通讯单元的,而有服务器的聊天软件是以人为通讯单元的。

所以,带服务器的聊天软件在网络上,有着非常广泛的用途,为网络上的通讯带来了极大的方便,它使人与人之间的交流不再只局限于某一个范围,并且它的开销也是很小的,你只需要拥有一部可以联网的PC机就足够了!

(三)TCP/IP协议简介

TCP/IP是国际互联网所采用进行网际互连的通信协议。

实际所称的TCP/IP协议包括了在国际互联网络应用的一组协议,互联网协议族是此协议族的另一个名字。

1、TCP协议简介

因为我们这个程序所采用的是面向连接的TCP协议,所以我们这里就只对TCP(传输控制协议)这一部分作详细的介绍。

TCP:

传输控制协议(TCP:

TransmissionControlProtocol)

传输控制协议是一个TCP/IP组中能够实现可靠数据传送的传输层协议,并通过顺序响应能实现对应用程序的虚拟连接服务,在必要的时候进行包转发。

与IP协议相结合,TCP代表了网络协议的核心。

大多数网络应用程序是在相同的机器上运行的,计算机上必须能确保目的地的应用程序从源地址处获得数据包,及源计算机上的应用程序的回复获得选择的路经。

这一过程是通过使用TCP的"端口号"完成的。

网络IP地址和端口号的连接要达到唯一的标识,我们称之为"套接字"或"端点"。

为了可靠通信,TCP在端点间建立了连接或虚拟电路。

TCP服务提供了数据流传输、可靠行、有效流控制、全双工操作和多路复用技术等。

关于数据流传输,TCP发送一个由序列号定义的无结构的字节流。

这对应用程序有利,因为在被送出TCP之前应用程序不需要划分成块,TCP可以将字节整合成字段,然后发送给IP。

TCP是面向连接的端到端的可靠协议,并保证传送数据包的顺序,而顺序是用一个响

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1