优质毕业设计基于Qt嵌入式网络聊天系统的设计.doc
《优质毕业设计基于Qt嵌入式网络聊天系统的设计.doc》由会员分享,可在线阅读,更多相关《优质毕业设计基于Qt嵌入式网络聊天系统的设计.doc(29页珍藏版)》请在咨信网上搜索。
1、本科生毕业论文(设计)题目A Functionalist Approach to Translation of Tourism Texts姓名 商广浩 学号 院系 物理工程学院 专业 电子信息工程 指导老师 王艳娜 职称 讲师 5月15日 曲阜师范大学杏坛学院教务处制目 录摘要3关键词3Abstract3keyword4引言41 QT61.1 QT概念61.2 QT发展史和前景71.3 QT关键功效82 WINDOWS SOCKETS 网络编程研究42.1 TCP/IP体系结构52.2.1 TCP/IP介绍52.2.2 TCP/IP特点52.2基础套接字52.3用户机/服务器模式72.4 SO
2、CKETS程序设计82.4.1 SOCKETS API介绍82.4.2 WINDOWS SOCKETS机制93 网络通信模块分析113.1 网络通信程序设计过程113.2 网络通信程序设计关键133.2.1通信设计代码分析133.2.2数据传输代码分析173.2.3犯错处理194 界面模块分析204.1 服务器端界面模块分析204.2 用户端界面模块分析214.2.1用户登陆界面分析214.2.2用户聊天界面分析245 数据库模块分析275.1数据库选择275.2数据库访问方法275.3 ADO数据库编程275.3.1 ADO和ADO接口介绍275.3.2使用ADO操作SQL代码分析286 总
3、结336.1体会和感想336.2 总结33第七章、参考书目34基于Qt嵌入式网络聊天系统设计电子信息工程专业学生 商广浩指导老师 王艳娜内容还能够, 具体格式还需要参考学校要求来修改。修改后再发给我摘要:本文关键介绍了怎样用QT技术来实现一个局域网聊天软件。论文叙述了QT概念,发展历史,功效及其应用平台,和QT发展前景;本论文讨论了linus环境下局域网聊天程序设计思绪和设计方法。其中网络通信部分采取流行TCP/IP协议。程序采取经典C/S(服务器/用户端)构架。用socket编程设计网络通讯。界面设计部分采取QT框架。数据库采取微软SQL Server。本文最终设计了一个简易版本聊天软件,包
4、含登陆、退出、添加好友、消息收/发等功效。 关键词:QT,TCP/IP 通信,Sockets API,C/S architectureQt based embedded network chat system design Student majoring in Electronic and Information Engineering shangguanghao Tutor wangyannaABSTRACT :This article discusses how to design and develop a LAN chatting program in Linus environme
5、nt. The network communication part depends on the popular TCP/IP protocol. Software is based on C/S architecture. Network communication is developed with Socket. UI is designed with QT frame. Database is designed with SQL server. The article describes a concise chart software version, with the funct
6、ion of logging in/out, adding friend to list, sending/receiving message and so on. Keywords: QT,TCP/IP communication,Sockets API,C/S architecture引言:多年来,伴随全球信息化不停发展,网络也在飞速发展。出于高效、快速地处理多种事务目标,越来越多企业在其内部使用局域网来进行工作。在内部局域网帮助下,企业得以简化信息步骤,提升信息交换速度,从而提升工作效率。然而,伴随企业规模扩大,业务量增加,企业内部信息越来越私密,企业只期望职员经过内部局域网进行沟通和交
7、流,避免企业内部机密经过Internet泄露到外部。为了处理上述矛盾,大家提出了开发局域网聊天软件构想,经过局域网聊天软件,企业职员能够随时进行即时消息传输,召开网络会议等,有利于提升工作效率,同时又保护了企业内部信息安全。伴随用户对软件功效需求不停提升,即时通讯产品也不停地更新换代。即时通讯发展不管是在基础应用方面还是在扩展应用方面全部有着飞跃。为了满足用户需求,包含腾讯企业聊天软件QQ在内,很多即时性聊天工具全部推出了语音聊天、视频聊天功效模块。本课题研究是基于局域网聊天室,用VC+编写程序,程序实现通常文字聊天功效,可作为某局域网交流工具。本系统采取基于Socket方法实现局域网通信,基
8、于Socket局域网通信软件能够为企业原有局域网提供一个良好,安全,快速通信机制。它实现无需对企业原有局域网硬件进行任何改动,含有实现成本低廉优点,它使用能有效地降低局域网通信负荷,提升局域网使用效率,能够很好地处理企业内部局域网多种通信需求。 基于Socket局域网聊天工具很好地诠释了Socket通信原理,而且在企业内部通信、教学、讨论等应用中全部含有一定实用价值。它含有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点3。基于Socket局域网通信软件应用范围宽广,不仅能够处理传统通信需求,而且也能扩展以适应新型网络应用,如网络教育,数据影音传输等,拥有
9、广泛应用前景。 现在基于局域网即时通信工具通常采取UDP或 TCP协议体系来实现 ,开发技术已经比较成熟。UDP实时性比很好,不过不一定提供可靠数据传输,TCP能够提供可靠数据传输,本课题采取TCP完成局域网聊天室设计。1 QT1.1 QT概念Qt是一个1991年由奇趣科技开发跨平台C+图形用户界面应用程序开发框架。它既能够开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,而且许可组件编程。,奇趣科技被诺基亚企业收购,QT也所以成为诺基亚旗下编程语言工具。1.2 QT历史和发展* 1996 Oct KDE组织成立* 1998 Apr 05 Trol
10、ltech程序员在 5 天之内将 Netscape5.0 从 Motif移植到 Qt 上* 1998 Apr 08 KDE Free Qt 基金会成立* 1998 Jul 09 Qt 1.40 公布* 1998 Jul 12 KDE 1.0 公布* 1999 Mar 04 QPL1.0 公布* 1999 Mar 12 Qt 1.44 公布* 1999 Jun 25 Qt 2.0 公布* 1999 Sep 13 KDE 1.1.2 公布* Mar 20 嵌入式 Qt 公布* Sep 06 Qt 2.2 公布* Oct 05 Qt 2.2.1 公布* Oct 30 Qt/Embedded 开始使用
11、 GPL宣言* Sep 04 Qt free edition 开始使用 GPL* Nokia从 Trolltech企业收购Qt, 并增加LGPL授权模式* Digia从Nokia收购了Qt商业版权,以后Nokia负责Qt on Mobile, Qt Commercial由Digia负责1.3 QT关键功效Qt 4.6 首次包含了对Symbian平台支持,并在其所支持平台中新增了Windows 7、Apple Mac OS 10.6 (雪豹) 和立即上市Maemo 6。另外还为实时操作系统QNX 和 VxWorks提供了网络小区支持。对Maemo 5 支持现在也已进入研发阶段,其技术预览版第二版
12、于12月1日公布。 Qt 对 X11 、X86 、ARM 及 Symbian 支持首次为开发人员发明了使用同一代码库同时针对这多个平台进行开发机会。能够跨平台分享代码就意味着开发人员所开发应用程序上市速度将愈加快,影响设备用户群将更广。 Qt Mobility项目下全新Qt API技术预览版也同时公布。这些跨平台API为开发人员提供了多个功效,如导航类设备定位功效,和信息发送和接收、联络人和网络连接管理等。性能提升关键包含:一个经过高度优化、重新编写 Qt GraphicsView 渲染算法、一个全新 OpenGL 绘图引擎、WebKit、使用 OpenVG 对 2D 矢量图形支持,和对全新
13、DirectFB 支持。2 Socket 网络编程研究2.1 TCP/IP体系结构2.2.1 TCP/IP介绍TCP/IP 作为 Internet关键协议,经过近二十多年发展已日渐成熟,并被广泛应用于局域网和广域网中,现在已成为实际上国际标准。TCP/IP 协议集确立了 Internet 技术基础。TCP/IP 协议关键作用于 OSI 网络参考模型中网络层(第3层)、传输层(第4层)和应用层(第7层)。数据链路层(第2层)功效关键应用于其它协议如以太网(Ethernet)、ATM、帧中继(Frame Relay),和多数供给商特定协议等。TCP/IP 充足支持全部通用第2层协议。TCP/IP
14、组中应用程序通常直接运行于传输层协议 TCP 或 UDP 上面,并不需要表示层(第6层)和会话层(第5层)支持。2.2.2 TCP/IP特点TCP/IP协议关键部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中设计。所以用户通常不包含。编程时,编程界面有两种形式:一、是由内关键直接提供系统调用;二、使用以库函数方法提供多种函数。前者为核内设计,后者为核外设计。用户服务要经过核外应用程序才能设计,所以要使用套接字(socket)来设计。2.2基础套接字下面给出多个基础套接字,这些套接字使用贯穿了网络编程始末,主导了数据通信过程。这将在以后篇幅中会给出
15、更具体使用说明。1、创建套接字socket()功效:使用前创建一个新套接字格式:SOCKET PASCAL FAR socket(int af,int type,int procotol);参数:af: 通信发生区域type: 要建立套接字类型procotol: 使用特定协议2、指定当地地址bind()功效:将套接字地址和所创建套接字号联络起来。格式:int PASCAL FAR bind(SOCKET s,const struct sockaddr FAR * name,int namelen);参数:s: 是由socket()调用返回而且未作连接套接字描述符(套接字号)。其它:没有错误,b
16、ind()返回0,不然SOCKET_ERROR3、建立套接字连接connect()和accept()功效:共同完成连接工作4、监听连接listen()功效:用于面向连接服务器,表明它愿意接收连接。格式:int PASCAL FAR listen(SOCKET s, int backlog);5、数据传输send()和recv()功效:数据发送和接收6、多路复用select()功效:用来检测一个或多个套接字状态。7、关闭套接字closesocket()功效:关闭套接字s格式:BOOL PASCAL FAR closesocket(SOCKET s)。2.3 用户机/服务器模式在TCP/IP网络中
17、两个进程间相互作用主机模式是用户机/服务器模式(Client/Server model)。该模式建立基于以下两点:1、非对等作用;2、通信完全是异步。用户机/服务器模式在操作过程中采取是主动请示方法:首先服务器方要先开启,并依据请示提供对应服务,过程以下所表示:1、打开一通信通道并通知当地主机,它愿意在某一个公认地址上接收用户请求。2、等候用户请求抵达该端口。3、接收到反复服务请求,处理该请求并发送应答信号。4、返回第二步,等候另一用户请求5、关闭服务器。用户方:1、打开一通信通道,并连接到服务器所在主机特定端口。2、向服务器发送服务请求报文,等候并接收应答;继续提出请求3、请求结束后关闭通信
18、通道并终止。2.4 SOCKETS程序设计2.4.1 SOCKETS API介绍VC+对网络编程支持有socket支持,WinInet支持,MAPI和ISAPI支持等。其中, Sockets API是TCP/IP网络环境里,也是Internet上进行开发最为通用API。最早美国加州大学Berkeley分校在UNIX下为TCP/IP协议开发了一个API,这个API就是著名Berkeley Socket接口(套接字)。在桌面操作系统进入Windows时代后,仍然继承了Socket方法。在TCP/IP网络通信环境下,Socket数据传输是特殊I/O,它也相当于文件描述符,含有一个类似于打开文件函数调
19、用-socket()。能够这么了解:Socket实际上是一个通信端点,经过它,用户Socket程序能够经过网络和其它Socket应用程序通信。Socket存在于一个通信域(为描述通常线程怎样经过Socket进行通信而引入抽象概念)里,而且和另一个域Socket交换数据。Socket有三类。第是SOCK_STREAM(流式),提供面向连接可靠通信服务,比如telnet,http。第二种是SOCK_DGRAM(数据报),提供无连接不可靠通信,比如UDP。第三种是SOCK_RAW(原始),关键用于协议开发和测试,支持通信底层操作,比如对IP和ICMP直接访问。2.4.1 SOCKETS机制1、异步选
20、择机制:SOCKETS 异步选择函数提供了消息机制网络事件选择,当使用它登记网络事件发生时,应用程序对应窗口函数将收到一个消息,消息中指示了发生网络事件,和和事件相关部分信息。SOCKETS 提供了一个异步选择函数 WSAAsyncSelect(),用它来注册应用程序感爱好网络事件,当这些事件发生时,应用程序对应窗口函数将收到一个消息。FD_READ 期望在套接字上收到数据(即读准备好)时接到通知FD_WRITE 期望在套接字上可发送数据(即写准备好)时接到通知FD_OOB 期望在套接字上有带外数据抵达时接到通知FD_ACCEPT 期望在套接字上有外来连接时接到通知FD_CONNECT 期望在
21、套接字连接建立完成时接到通知FD_CLOSE 期望在套接字关闭时接到通知比如:我们要在套接字读准备好或写准备好时接到通知,语句以下:rc=WSAAsyncSelect(s,hWnd,wMsg,FD_READ|FD_WRITE);假如我们需要注销对套接字网络事件消息发送,只要将 lEvent 设置为0 。2、异步请求函数在 Berkeley Sockets 中请求服务是阻塞,WINDOWS SICKETS 除了支持这一类函数外,还增加了对应异步请求函数(WSAAsyncGetXByY();)。 3 网络通信模块分析3.1网络通信程序设计过程在调用了 sockets 开启函数WSACleanup(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 优质 毕业设计 基于 Qt 嵌入式 网络 聊天 系统 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。