《毕业设计—基于某Qt嵌入式网络聊天系统地设计》由会员分享,可在线阅读,更多相关《毕业设计—基于某Qt嵌入式网络聊天系统地设计(18页珍藏版)》请在金锄头文库上搜索。
1、word本科生毕业论文(设计)题目A Functionalist Approach to Translation of Tourism Texts姓名 商广浩 学号0812301048 院系 物理工程学院 专业 电子信息工程 指导教师 王艳娜 职称 讲师 2012年5月15日 曲阜师X大学杏坛学院教务处制目录摘要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.2TCP/IP的特点52.2基本套
2、接字52.3客户机/服务器模式72.4 SOCKETS程序设计82.4.1 SOCKETS API简介82.4.2WINDOWS SOCKETS机制93 网络通信模块分析113.1 网络通信程序设计过程113.2网络通信程序设计核心133.2.1通信设计代码分析133.2.2数据传输代码分析173.2.3出错处理194 界面模块分析204.1 服务器端界面模块分析204.2 客户端界面模块分析214用户登陆界面分析214.2.2用户聊天界面分析245 数据库模块分析275.1数据库的选择275.2数据库访问方法275.3 ADO数据库编程275.3.1 ADO与ADO接口简介275.3.2使用
3、ADO操作SQL代码分析286 总结336.1体会和感想336.2总结33第七章、参考书目34基于Qt嵌入式网络聊天系统的设计电子信息工程专业学生 商广浩指导老师 王艳娜内容还可以, 具体格式还需要参照学校的要求来修改。修改后再发给我摘要:本文主要介绍了如何用QT技术来实现一个局域网的聊天软件。论文阐述了QT的概念,发展历史,功能及其应用平台,以及QT的发展前景;本论文讨论了linus环境下局域网聊天程序的设计思路和设计方法。其中网络通信部分采用流行的TCP/IP协议。程序采用典型的C/S(服务器/客户端)构架。用socket编程设计网络通讯。界面设计部分采用QT框架。数据库采用微软SQL S
4、erver。本文最终设计了一个简易版本的聊天软件,包括登陆、退出、添加好友、消息收/发等功能。关键词:QT,TCP/IP 通信,Sockets API,C/S architectureQt based embedded network chat system designStudentmajoring in Electronic and Information Engineering shangguanghaoTutor wangyannaABSTRACT:This article discusses how to design and develop a LAN chatting progr
5、am in Linus environment. The network munication part depends on the popular TCP/IP protocol. Software is based on C/S architecture. Network munication is developed with Socket. UI is designed with QT frame. Database is designed with SQL server. The article describes a concise chart software version,
6、 with the function of logging in/out, adding friend to list, sending/receiving message and so on. Keywords: QT,TCP/IP munication,Sockets API,C/S architecture引言:近年来,随着全球信息化的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着企业规模的扩大,业务量的增加,企业内部的信息越来越私密,
7、企业只希望员工通过内部局域网进行沟通与交流,避免企业内部某某通过Internet泄露到外部。为了解决上述矛盾,人们提出了开发局域网聊天软件的构想,通过局域网聊天软件,企业员工可以随时的进行即时消息传递,召开网络会议等,有利于提高工作效率,同时又保护了企业内部信息的安全。随着用户对软件功能的需求不断提高,即时通讯的产品也不断地更新换代。即时通讯的发展不论是在基础应用方面还是在扩展应用方面都有着飞跃。为了满足用户的需求,包括腾讯公司的聊天软件QQ在内,许多即时性聊天工具都推出了语音聊天、视频聊天功能模块。本课题研究的是基于局域网的聊天室,用VC+编写的程序,程序实现一般的文字聊天功能,可作为某局域
8、网的交流工具。本系统采用基于Socket的方法实现局域网通信,基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。基于Socket的局域网聊天工具很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快,某某性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点3。基于Socket的局域网通信软件应用X围广阔,不但
9、可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景。如今基于局域网的即时通信工具一般采用UDP或者 TCP协议体系来实现 ,开发技术已经比较成熟。UDP的实时性比较好,但是不一定提供可靠的数据传输,TCP可以提供可靠的数据传输,本课题采用TCP完成局域网聊天室的设计。1 QT1.1 QT的概念Qt是一个1991年由奇趣科技开发的跨平台C+图形用户界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,并且允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺
10、基亚旗下的编程语言工具。1.2 QT的历史和发展* 1996 Oct KDE组织成立* 1998 Apr 05 Trolltech的程序员在 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 发布* 2000 Mar 20 嵌入式 Qt
11、 发布* 2000 Sep 06 Qt 2.2 发布* 2000 Oct 05 Qt 2.2.1 发布* 2000 Oct 30 Qt/Embedded 开始使用 GPL宣言* 2000 Sep 04 Qt free edition 开始使用 GPL* 2008 Nokia从 Trolltech公司收购Qt, 并增加LGPL的授权模式* 2011 Digia从Nokia收购了Qt的商业,从此Nokia负责Qt on Mobile, Qt mercial由Digia负责1.3 QT的主要功能Qt 4.6 首次包含了对Symbian平台的支持,并在其所支持的平台中新增了Windows 7、Appl
12、e Mac OS 10.6 (雪豹) 和即将上市的Maemo 6。此外还为实时操作系统QNX 和 VxWorks提供了网络社区支持。对Maemo 5 的支持目前也已进入研发阶段,其技术预览版第二版于2009年12月1日发布。 Qt 对 X11 、X86 、ARM 及 Symbian 的支持首次为开发人员创造了使用同一代码库同时针对这多个平台进行开发的机会。能够跨平台分享代码就意味着开发人员所开发的应用程序上市的速度将更快,影响的设备用户群将更广。 Qt Mobility项目下的全新Qt API技术预览版也同时发布。这些跨平台的API为开发人员提供了多种功能,如导航类设备的定位功能,以及信息发送
13、和接收、联系人和网络连接管理等。性能提升主要包括:一个经过高度优化、重新编写的 Qt GraphicsView 渲染算法、一个全新的 OpenGL 绘图引擎、WebKit、使用 OpenVG 对 2D 矢量图形的支持,以及对全新 DirectFB 的支持。2 Socket 网络编程的研究2.1 TCP/IP体系结构2.2.1 TCP/IP简介TCP/IP 作为 Internet的核心协议,通过近二十多年的发展已日渐成熟,并被广泛应用于局域网和广域网中,目前已成为事实上的国际标准。TCP/IP 协议集确立了 Internet 的技术基础。TCP/IP 协议主要作用于 OSI 网络参考模型中的网络
14、层(第3层)、传输层(第4层)和应用层(第7层)。数据链路层(第2层)的功能主要应用于其它协议如以太网(Ethernet)、ATM、帧中继(Frame Relay),以及多数供应商特定协议等。TCP/IP 充分支持所有通用第2层协议。TCP/IP 组中的应用程序通常直接运行于传输层协议 TCP 或 UDP 上面,并不需要表示层(第6层)和会话层(第5层)的支持。2.2.2 TCP/IP的特点TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中设计。因此用户一般不涉及。编程时,编程界面有两种形式:一、是由内核心直接提供的系统调用;
15、二、使用以库函数方式提供的各种函数。前者为核内设计,后者为核外设计。用户服务要通过核外的应用程序才能设计,所以要使用套接字(socket)来设计。套接字下面给出几个基本的套接字,这些套接字的使用贯穿了网络编程的始末,主导了数据通信的过程。这将在以后的篇幅中会给出更详细的使用说明。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