毕业设计—基于Qt嵌入式网络聊天系统的设计

毕业设计—基于Qt嵌入式网络聊天系统的设计
毕业设计—基于Qt嵌入式网络聊天系统的设计

本科生毕业论文(设计)

题目 A Functionalist Approach to Translation of

Tourism Texts

姓名商广浩学号0812301048

院系物理工程学院

专业电子信息工程

指导教师王艳娜职称讲师

2012年5月15日

曲阜师范大学杏坛学院教务处制

目录

摘要 (3)

关键词 (3)

A BSTRACT (3)

keyword (4)

引言 (4)

1 QT (6)

1.1 QT的概念 (6)

1.2 QT的发展史和前景 (7)

1.3 QT的主要功能 (8)

2 WINDOWS SOCKETS 网络编程的研究........... 错误!未定义书签。

2.1 TCP/IP体系结构 (5)

2.2.1 TCP/IP简介 (5)

2.2.2TCP/IP的特点 (5)

2.2基本套接字 (5)

2.3客户机/服务器模式 (7)

2.4 SOCKETS程序设计 (8)

2.4.1 SOCKETS API简介 (8)

2.4.2WINDOWS SOCKETS机制 (9)

3网络通信模块分析......................... 错误!未定义书签。

3.1 网络通信程序设计过程 (11)

3.2 网络通信程序设计核心 (13)

3.2.1通信设计代码分析 (13)

3.2.2数据传输代码分析 (17)

3.2.3出错处理 (19)

4界面模块分析 (20)

4.1 服务器端界面模块分析 (20)

4.2 客户端界面模块分析 (21)

4.2.1用户登陆界面分析 (21)

4.2.2用户聊天界面分析..................... 错误!未定义书签。5数据库模块分析.......................... 错误!未定义书签。

5.1数据库的选择 (27)

5.2数据库访问方法...................... 错误!未定义书签。5.3 ADO数据库编程...................... 错误!未定义书签。

5.3.1 ADO与ADO接口简介.................. 错误!未定义书签。

5.3.2使用ADO操作SQL代码分析............................ 错误!未定义书签。6总结 (33)

6.1体会和感想 (33)

6.2 总结 (33)

第七章、参考书目........................... 错误!未定义书签。

基于Qt嵌入式网络聊天系统的设计

电子信息工程专业学生商广浩

指导老师王艳娜

摘要:本文主要介绍了如何用QT技术来实现一个局域网的聊天软件。论文阐述了QT的概念,发展历史,功能及其应用平台,以及QT的发展前景;本论文讨论了linus环境下局域网聊天程序的设计思路和设计方法。其中网络通信部分采用流行的TCP/IP协议。程序采用典型的C/S(服务器/客户端)构架。用socket编程设计网络通讯。界面设计部分采用QT框架。数据库采用微软SQL Server。本文最终设计了一个简易版本的聊天软件,包括登陆、退出、添加好友、消息收/发等功能。

关键词:QT,TCP/IP 通信,Sockets API,C/S architecture

Qt based embedded network chat system design

Student majoring in Electronic and Information Engineering shangguanghao Tutor wangyanna

ABSTRACT:This article discusses how to design and develop a LAN chatting program in Linus environment. 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 function of logging in/out, adding friend to list, sending/receiving message and so on.

Keywords: QT,TCP/IP communication,Sockets API,C/S architecture

引言:近年来,随着全球信息化的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着企业规模的扩大,业务量的增加,企业内部的信息越来越私密,企业只希望员工通过内部局域网进行沟通与交流,避免企业内部机密通过Internet泄露到外部。为了解

决上述矛盾,人们提出了开发局域网聊天软件的构想,通过局域网聊天软件,企业员工可以随时的进行即时消息传递,召开网络会议等,有利于提高工作效率,同时又保护了企业内部信息的安全。

随着用户对软件功能的需求不断提高,即时通讯的产品也不断地更新换代。即时通讯的发展不论是在基础应用方面还是在扩展应用方面都有着飞跃。为了满足用户的需求,包括腾讯公司的聊天软件QQ在内,许多即时性聊天工具都推出了语音聊天、视频聊天功能模块。本课题研究的是基于局域网的聊天室,用VC++编写的程序,程序实现一般的文字聊天功能,可作为某局域网的交流工具。

本系统采用基于Socket的方法实现局域网通信,基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。

基于Socket的局域网聊天工具很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点[3]。基于Socket 的局域网通信软件应用范围广阔,不但可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景。

如今基于局域网的即时通信工具一般采用UDP或者 TCP协议体系来实现,开发技术已经比较成熟。UDP的实时性比较好,但是不一定提供可靠的数据传输,TCP可以提供可靠的数据传输,本课题采用TCP完成局域网聊天室的设计。

1 QT

1.1 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 发布

* 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 Commercial由Digia负责

1.3 QT的主要功能

Qt 4.6 首次包含了对Symbian平台的支持,并在其所支持的平台中新增了Windows 7、Apple Mac OS 10.6 (雪豹) 和即将上市的Maemo 6。此外还为实时操作系统QNX 和 VxWorks提供了网络社区支持。对Maemo 5 的支持目前也已进入研发阶段,其技术预览版第二版于2009年12月1日发布。 Qt 对 X11 、X86 、ARM 及 Symbian 的支持首次为开发人员创造了使用同一代码库同时针对这多个平台

进行开发的机会。能够跨平台分享代码就意味着开发人员所开发的应用程序上市的速度将更快,影响的设备用户群将更广。 Qt Mobility项目下的全新Qt API技术预览版也同时发布。这些跨平台的API为开发人员提供了多种功能,如导航类设备的定位功能,以及信息发送和接收、联系人和网络连接管理等。性能提升主要包括:一个经过高度优化、重新编写的 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 网络参考模型中的网络层(第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)和物理接口层,这三层通常是在操作系统内核中设计。因此用户一般不涉及。编程时,编程界面有两种形式:一、是由内核心直接提供的系统调用;二、使用以库函数方式提供的各种函数。前者为核内设计,后者为核外设计。用户服务要通过核外的应用程序才能设计,所以要使用套接字(socket)来设计。

2.2基本套接字

下面给出几个基本的套接字,这些套接字的使用贯穿了网络编程的始末,主导了数据通信的过程。这将在以后的篇幅中会给出更详细的使用说明。

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()调用返回的并且未作连接的套接字描述符(套接字号)。

其它:没有错误,bind()返回0,否则SOCKET_ERROR

3、建立套接字连接——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网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:

首先服务器方要先启动,并根据请示提供相应服务,过程如下所示:

1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。

2、等待客户请求到达该端口。

3、接收到重复服务请求,处理该请求并发送应答信号。

4、返回第二步,等待另一客户请求

5、关闭服务器。

客户方:

1、打开一通信通道,并连接到服务器所在主机的特定端口。

2、向服务器发送服务请求报文,等待并接收应答;继续提出请求……

3、请求结束后关闭通信通道并终止。

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,它

也相当于文件描述符,具有一个类似于打开文件的函数调用-socket()。可以这样理解:Socket实际上是一个通信端点,通过它,用户的Socket程序可以通过网络和其他的Socket应用程序通信。Socket存在于一个"通信域"(为描述一般的线程如何通过Socket 进行通信而引入的抽象概念)里,并且与另一个域的Socket交换数据。Socket有三类。第是SOCK_STREAM(流式),提供面向连接的可靠的通信服务,比如telnet,http。第二种是SOCK_DGRAM(数据报),提供无连接不可靠的通信,比如UDP。第三种是SOCK_RAW(原始),主要用于协议的开发和测试,支持通信底层操作,比如对IP和ICMP的直接访问。

2.4.1 SOCKETS机制

1、异步选择机制:

SOCKETS 的异步选择函数提供了消息机制的网络事件选择,当使用它登记网络事件发生时,应用程序相应窗口函数将收到一个消息,消息中指示了发生的网络事件,以及与事件相关的一些信息。

SOCKETS 提供了一个异步选择函数 WSAAsyncSelect(),用它来注册应用程序感兴趣的网络事件,当这些事件发生时,应用程序相应的窗口函数将收到一个消息。

FD_READ 期望在套接字上收到数据(即读准备好)时接到通知

FD_WRITE 期望在套接字上可发送数据(即写准备好)时接到通知

FD_OOB 期望在套接字上有带外数据到达时接到通知

FD_ACCEPT 期望在套接字上有外来连接时接到通知

FD_CONNECT 期望在套接字连接建立完成时接到通知

FD_CLOSE 期望在套接字关闭时接到通知

例如:我们要在套接字读准备好或写准备好时接到通知,语句如下:

rc=WSAAsyncSelect(s,hWnd,wMsg,FD_READ|FD_WRITE);

如果我们需要注销对套接字网络事件的消息发送,只要将 lEvent 设置为0 。

2、异步请求函数

在 Berkeley Sockets 中请求服务是阻塞的,WINDOWS SICKETS 除了支持这一类函数外,还增加了相应的异步请求函数(WSAAsyncGetXByY();)。

3 网络通信模块分析

3.1网络通信程序设计过程

在调用了 sockets 的启动函数WSACleanup()之后才能进行其他的Socket系统调

用,但启动函数WSAStartup()是为了建立与Windows Sockets DLL的连接,因此在VC++6.0所建立工程的工程设置中的连接的库模块必须进行设置,在其中的link栏内的对象/库模块中加入“Ws2_32.lib”,才能真正建立建立与 Sockets DLL的连接。

其他的Socket系统调用包括创建Socket、将创建的Socket与本地端口绑定、建立Socket连接服务器、监听是否有连接、请求数据的可控缓冲发送和可控缓冲接收,到最后关闭Socket。具体流程图如1所示。

首先在服务器方,利用socket()函数建立流式套接字,返回套接字号s,接着利用bind()函数将套接字s与本地地址绑定,紧接着利用listen(0函数通知TCP,监听客户方,服务器准备接收连接,没有连接的话,服务器方通过closesocket()关闭套接字s,服务结束。有连接的话,在客户方,通过socket()函数建立流式套接字s,此时在服务器方,建立连接,通过accept()返回,得到新的套接字ns,客户方通过connect()将套接字s与远程地址连接,此时服务器方/客户方在ns/s上读/写数据,直到交换完成。交换完成后,服务器方/客户方关闭套接字ns/s,最后服务器方通过closesocket()关闭最初套接字s,服务结束。

具体设计过程如图1所示,具体设计代码将会在下面介绍:

首先定义初始化网络函数,也就是SOCKETS的启动

在所有WINDOWS SOCKETS 函数中,只有启动函数WSAStartup() 和终止函数WSACleanup() 是必须使用的。

启动函数必须是第一个使用的函数,而且它允许指定 WINDOWS SOCKETS API 的版本,并获得 SOCKETS的特定的一些技术细节。本结构如下:

int PASCAL FAR WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);

其中 wVersionRequested 保证 SOCKETS 可正常运行的 DLL 版本,如果不支持,则返回错误信息。

接下来就是对SOCKET的设置,本程序使用的数据传输模式是异步非阻塞模式,设置好之后就是监听客户端信息,

另外,发生在相应Socket上的各种网络异步事件的处理函数,其中OnAccept传进来的参数是服务器端创建的套接字,OnClose()、OnReceive()和OnSend()传进来的参数均是服务器端在接受客户端连接时新创建的用与此客户端通信的Socket。定义OnAccept()函数来接受连接请求,并保存与发起连接请求的客户端进行通信Socket,为新的socket 注册异步事件;定义OnSend()函数来给客户端发数据时做相关预处理; 定义OnReceive()函数来读出网络缓冲区中的数据包;定义OnClose()函数来结束与相应的客户端的通信,释放相应资源。

接下来讲讲客户端方。

首先初始化网络部分,带不需要将套接字设置为监听模式。注册异步事件时,没有FD_ACCEPT,但增加了FD_CONNECT事件,因此没有OnAccept()函数,但增加了OnConnect()函数。向服务器发出连接请求时,使用connect()函数,连接成功后,会响应到OnConnect()函数中。下面是OnConnect()函数的定义,传进来的参数是客户端Socket和服务器端发回来的连接是否成功的标志。

另外定义OnReceive()函数来处理网络数据到达事件;定义OnSend()函数来处理发送网络数据事件;定义OnClose()函数来处理服务器的关闭事件。

3.2.2数据传输代码分析

在服务器方用 WSASend()函数来发送数据,使用 WSARecv()来接收数据。Sockets 不鼓励用户使用阻塞方式传输数据,因为那样可能会阻塞整个 linus 环境。

若无错误发生且发送操作立即完成,则WSASend()函数返回所发送的字节数。(注

意该数目可能小于len参数所指定的值)。如果连接结束,则返回0。请注意在这种情况下完成指示(启动指定的完成例程或设置一个事件对象)将早已发生。否则的话,将返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()来获取相应的错误代码,返回-1。错误代码WSA_IO_PENDING表示重叠操作成功启动,过后将有完成指示。任何其他的错误表示重叠操作未能成功地启动,以后也不会有完成指示。

若无错误发生且接收操作立即完成,则WSARecv()函数返回所接收的字节数。如果连接结束,则返回0。请注意在这种情况下完成指示(启动指定的完成例程或设置一个事件对象)将早已发生。否则的话,将返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()来获取相应的错误代码。错误代码WSA_IO_PENDING表示重叠操作成功启动,过后将有完成指示。任何其他的错误表示重叠操作未能成功地启动,以后也不会有完成指示。

若无错误发生,send()返回所发送数据的总数(请注意这个数字可能小于len中所规定的大小)。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。

若无错误发生,recv()返回读入的字节数。如果连接已中止,返回0。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。

4 界面模块分析

4.1服务器端界面模块分析

在服务器界面设计上设计很简单,通过一个列表框来显示服务器信息,一个启动按钮来启动服务器,一个退出按钮关闭服务器。

如果服务器启动没有什么问题就会在列表框中显示“创建服务器成功”字样。

当用户登陆,就会在列表框中显示如“127.0.0.1 连接,接受127.0.0.1:USER 1001,接受127.0.0.1:PASS 1001”三行字样,如果登陆成功,在列表框中就会显示“接受127.0.0.1:LIST”字样,获取在线用户列表。如果登陆失败,在列表框中就会显示如“127.0..0.1断开”字样。

在注册用户的时候,如果注册成功,在列表框中就会显示如“ADD USER 1001 SUCCESS”,如果失败,就会在列表框中显示“ADD USER FAIL”

当修改用户信息的时候就会在列表框中显示“接受127.0.0.1:GINF 1001”,如果

修改成功,就会在列表框中显示“接受127.0.0.1:UINF 1001”。

4.2客户端界面模块分析

客户端界面主要包括用户登陆界面、用户注册界面、在线用户列表界面、用户聊天界面。

其中客户端界面设计思路,主要设计过程如图3所示:

图3 客户端界面轮廓

4.2.1用户登陆界面分析

用户登陆界面如图4所示

图4 用户登陆界面

如图4显示,当单击“登陆”按钮进行用户的登陆:

当用户号码未填写时,会提示“请输入用户号码”。

当用户密码未填写时,会提示“请输入用户密码”。

当服务器IP未填写或格式不正确,会提示“请填写正确的服务器地址”。

勾选“保护密码”,在下次打开该登陆界面时,在输入框里自动显示上次登陆时输入的三项信息。

用户信息填写完毕后,按“登陆”按钮,如果与服务器连接失败,就会提示如“连接失败:不能连接192.0.0.1上的服务器”

登陆成功就会进入在线用户列表界面,如图6所示.。

单击“取消”按钮退出登陆界面。

单击“注册向导”按钮就可以进入用户注册界面,如图5所示。

4.2.2用户聊天界面

首先选择你要聊天的好友。通过“发送”按钮发送你要讲的内容,通过“聊天记录”按钮/“关闭记录”按钮来显示/关闭聊天记录。单击“传送文件”按钮,跳出文件目录,让你选择你要传送的文件。如图10所示。

图10传送文件界面

5 数据库模块分析

5.1 数据库的选择

选择一个好的应用程序对一个应用系统来说是非常重要的。应用系统应该选择哪种数据库要根据系统的要求和企业的实际情况而定。目前,所有流行的几种大型关系型数

据库有MS SQL Server、Oracle、DB2等。本系统使用MS SQL Server,主要有以下几点理由:

1)MS SQL Server比较容易使用,一般管理员较熟悉。

2)MS SQL Server有存储过程、视图等方便功能扩展。

5.2数据库访问方法

本程序示通过用ADO来访问数据库,分别用ADO访问了数据库的各个对象及各方法。

5.3 ADO数据库编程

5.3.1 ADO与ADO接口简介

ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。ADO 使您能够编写应用程序以通过 OLE. DB 提供者访问和操作数据库服务器中的数据。OLE DB是一组”组件对象模型”(COM) 接口,是新的数据库低层接口,它封装了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。OLE DB是Microsoft UDA(Universal Data Access)策略的技术基础。OLE DB 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。OLE DB 应用程序编程接口的目的是为各种应用程序提供最佳的功能,它并不符合简单化的要求。您需要的API 应该是一座连接应用程序和OLE DB 的桥梁,这就是 ActiveX Data Objects (ADO)。

ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。

_ConnectionPtr接口返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。使用_ConnectionPtr接口返回一个记录集不是一个好的使用方法。对于要返回记录的操作通常用_RecordserPtr 来设计。而用_ConnectionPtr操作时要想得到记录条数得遍历所有记录,而用_RecordserPtr时不需要。

_CommandPtr接口返回一个记录集。它提供了简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,你可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。如果你只执行一次或几次数据访问操作,

后者是比较好的选择。但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr接口执行存储过程和SQL语句。

_RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。同_CommandPtr接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让它自己创建数据连接。如果你要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局_ConnectionPtr接口,然后使用_RecordsetPtr执行存储过程和SQL语句。

在下面的代码分析中将详细介绍ADO怎样利用这几个接口来对数据库SQL进行操作。

5.3.2使用ADO操作SQL代码分析

1、引入ADO库文件

使用ADO前必须在工程的stdafx.h头文件里用直接引入符号#import引入ADO库文件,以使编译器能正确编译。

这行语句声明在工程中使用ADO,但不使用ADO的名字空间,并且为了避免常数冲突,将常数EOF改名为adoEOF。现在不需添加另外的头文件,就可以使用ADO接口了。

2、初始化OLE/COM库环境

必须注意的是,ADO库是一组COM动态库,这意味应用程序在调用ADO前,必须初始化OLE/COM库环境。在MFC应用程序里,一个比较好的方法是在应用程序主类的InitInstance成员函数里初始化OLE/COM库环境。

3、判断数据库的存在

使用USE语句,成功了就存在;不成功,就不存在。

4、连接数据库

通过MS SQL SERVER 2000创建数据库名为XFQQ,接着在ODBC中添加数据源,数据源名为XFQQ,定义一个指向Connection对象的指针:_ConnectionPtr _pConnection;

7、更新记录信息

修改记录信息,如用户信息的修改,下面代码说明了在用户原来年龄上增加一岁:

8、关闭记录

在打开记录集进行操作之后就必须关闭记录集,否则进行别的操作的话会出现不必要的错误,关闭代码如下:

6 总结

6.1体会和感想

经过了整整3个月的忙碌,终于完成了毕业设计。在这段时间里体验了无数的酸甜苦辣,从解决不了细小问题的苦恼到问题最终解决的喜悦,一直伴随着整个设计过程。整个设计过程是不断学习,不断发现问题、分析问题、解决问题的过程。使我受益良多。设计期间有许多的感触、想法、经验,教训,对以后的学习、工作有很大的益处。

本设计在查阅了大量的文献后进行理论研究的同时,借鉴了其他聊天程序、聊天程序的优缺点,在此基础上展开了研究工作,归纳起来,论文取得的成果和创新点主要有以下几个方面:

1) 通过网络编程,设计了基本的聊天功能和文件传输功能。

2)将数据库编程和网络编程相结合,利用VC++6.0这一软件进行MFC编程,将在大学里学到的知识进行了很好的综合。

3)利用TCP/IP协议中的TCP协议,即面向连接的服务,进行数据的传输,对网络中数据的传输过程。

6.2 总结

通过对这个毕业设计的开发和学习,使自己对软件开发又有了新的理解,增加了自己的开发能力,也深刻理解了团队合作的精神。本次开发,使我不仅学了C++、数据结构、sql、winsock技术,还对网络编程进行了深入的学习,总结出了一些网络编程的特点,可以为今后的开发提供参考。最后,要感谢老师对我的细心指导,同时感谢我的同学对我的宝贵建议。

7 参考书目

[1]David J. Kruglinski,Programming Visual C++.1998.

[2] 施炜、李铮、秦颍,Windows Sockets 规范和应用—Windows网络编程接口. 1996.

[3]Anthony Jones and Jim Ohlumd,TCP/IP详解卷一:协议(英文版).

机械工业出版社,2003.

[4]王罡林立志,基于Windows的TCP/IP编程.清华大学出版社,2002.

[5]蒋东兴等,Windows Sockets 网络程序设计大全. 清华大学出版社,1999.

[6]萨师煊,数据库系统概论.高等教育出版社,2002.

[7]侯捷,深入简出MFC .1998 .

[8]Jeff Prosise,MFC Windows程序设计(第2版)。清华大学出版社,1999.

毕业设计-聊天室的设计与实现

编号: 毕业论文 题目:聊天室的设计与实现 院(系): 专业:计算机及应用 学生姓名:唐靖琳 学号: 030111301444 指导教师:李志远 职称:教授 题目类型:理论研究实验研究工程设计工程技术研究软件开发 2012年4月15日

随着Internet的普及,很多人已经不满足于仅仅上网冲浪,而希望能参与其中的开发与研究。怎样做好网页便是人们所渴望的事情。想做好一个网页就要选好工具,我的课题是聊天室的设计与制作。因此,我这里选择的开发软件是Macromedia Dreamweaver 8。Macromedia Dreamweaver 8目前作为最主流的ASP开发工具,它可以将前台界面设计和后天程序设计充分结合,包括asp等。而微软的asp和目前推广的https://www.360docs.net/doc/a111366276.html,,是广大网页后台设计师的首选,其应在IIS服务器环境中运行并通过调用ACCESS数据库来实现。 在线聊天室是一种十分普及的动态交互系统,是一种比较直观的且容易接受的交流方式,特别对于刚刚接触的新网民,在线聊天室相对于其他网络交流方式来说有很多不可比拟的优势,比如操作简单,界面简单,信息显示十分直观,十分适合新手;信息的及时传递无延迟,用户可以十分自如地和他人交流而无须等待。这些优点也是聊天室出现这么长时间以来的仍然被广泛使用的原因。至今在线聊天室仍是被很多网站作为吸引网民的利器. 本人制作的是在线聊天室的功能实现,实现用户的登陆和注册,用户在线聊天功能,私聊功能及管理员管理用户功能。聊天的界面有框架构成的。 建设此聊天室,主要目的是为了能够和相同爱好的朋友提供一个实时交流的平台,而不会因为距离而疏远了。 关键词:聊天室;ASP IIS服务器;ACCESS数据库;Macromedia Dreamweaver 8

本科毕业设计-在线考试系统

1.绪论 1.1 开发背景 近年来,计算机科学技术的发展迅猛异常,日新月异。网络技术、多媒体技术、面向对象的技术日趋成熟,为计算机的应用揭开了新篇章。为了适应计算机技术的发展,网上教育也以受众广、投入低、不受师资和校舍等办学基础设施等条件限制、容易开展高水平教学、教学质量相对容易保证等特点而受到教育界的广泛重视,网上教育促进了教育思想、教育方法、教育手段的更新。信息时代的未来教育,具有创造性、多样性、开发性和个性化的特点。未来教育发展层次的高低,与教育网络的建设与否息息相关。落后的教学手段与封闭的教学模式,再也不能适应未来教育的需求。 在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革和更新,而网络考试则是一个很重要的发展方向。基于Web技术的网络考试系统可以借助于遍布全球的因特网进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。试卷可以根据题库中的内容按条件组成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机判卷评分,大大提高阅卷的效率;还可以直接把成绩送到数据库中,进行统计分析、排序等操作。所以现在较好的考试方法是采用网络考试,试题内容放在服务器上,考生通用户名密码进行登录,登录后进行考试,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络考试方式将是以后考试发展的趋势。网上考试是这个课程建设其中的一部分,本文将重点介绍网上考试系统。 1.2 系统的总体概述及其研究意义 网络考试系统的实现技术有多种,可以采用传统的架构,即试题内容放在远程的服务器上,在考试机上安装考试应用程序和数据库客户机配置,因此每次考试时要对机器进行安装、配置,考务工作比较烦琐,而且考试程序放在客户机上,安全性也受到一定影响,因此本文讨论的网络考试系统采用Web 技术实现。Web 技术采用了三层体系结构:用户界面层/事务层/数据库层,因此Web结构有着更好的安全性,在用户机上不需要安装任何的应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上,当然,事务层和数据库可以是同一台机器(如果条件允许,还是应该把这两层分开在不同的计算机上)。本文

C+++网络聊天室设计报告和源程序

目录 1.需求分析 (2) 2.相关知识............................................... - 3 -2.1W INSOCK介绍 (3) 2.2MFC类CA SYNCSOCKET和CS OCKET (3) 2.3利用CS OCKET进行有连接的通信 (4) 3.详细设计................................... 错误!未定义书签。 3.1客户端的实现 (4) 3.2服务端的实现 (8) 4.程序运行结果.......................................... - 13 -4.1服务器端 .. (13) 4.2客户端 (13) 5.参考文献 ................................................................................................................... 错误!未定义书签。

1.需求分析 当前是数字信息时代,网络时代,任何一种编辑工具都不能忽视在网络上的应用,并且随着Internet 的普及和宽带技术的成熟,越来越多的用户进入网络世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务,享受网络带来的便利和办公的高效,与此同时一个新型的Web应用程序为网民之间提供了一个实时通信的功能和场所,这就是聊天室。 在网络早期就开始盛行,不论是BBS,IRC 都有类似网上聊天室的机制。聊天室为网友提供了实时性对话的渠道,是网络上极为流行的一项服务。 聊天室适用于网上会议或闲聊的一些场合。聊天室为网友提供了较好的交友环境,网友之间相互以文字交谈,在形式上有点类似笔友的性质,却大大节省了书信往返的时间,这也是网上交友之所以如此热门的原因。 聊天室的设计目标 本课题是建立聊天通信模型,设计一个聊天室软件,包括服务器端和客户端,主要功能为: 服务器端功能: 1、初始化socket, 创建服务器端。 2、维护一个链表,保存所有用户的IP地址、端口信息。 3、接受用户传送来的聊天信息,然后向链表中的所用用户转发。 4、接受用户传送来的连接判断命令,并向用户发出响应命令。 客户端功能: 客户端界面上的两个文本框,一个用于显示接受的聊天信息,一个用来接受用户输入的聊天信息。当按下“发送”按钮时将信息发送给服务器。 通过本课题的毕业设计,可以比较深入的了解和掌握WINSOCK控件基本属性、方法和事件,理解网络聊天通信的概念,输控制协议(TCP)进行数据交流,初步掌握网络聊天通信程序的设计方法。并能巩固和扩展大学期间的学习内容,进行项目的设计开发训练,更好的适应社会的需求。

在线考试系统---毕业设计开题报告

毕业设计开题报告 题目名称基于.net 在线考试系统设计 院(系)计算机科学学院 专业班级XXXXXXXX 学生姓名XXXXX 指导教师XXXX 辅导教师XXX 开题报告日期2015年1月9日 在线考试系统设计 学生:XXX,计算机科学学院 指导老师:XXX,计算机科学学院 一、题目来源 生产/社会实际等 二、研究的目的和意义 目前,社会行行业业需要人才,而人才选拔的重要途径是通过考试来判定。现阶段,学校考试大都是传统的考试方式:由老师纸上出题,学生纸上答题,老师人工阅卷,以及人工试卷分析四大步骤组成。这样做一是给老师带来工作上的繁琐,不利于老师工作效率的提高;

二是人工的考试方式由于工作量大从而容易出错;三是人为因素的不确定性,可能会造成选题范围过于狭窄。随着各种考试类型的不断增加和考试要求的不断提高,传统的考试方式已不能满足现在考试的需求。 计算机应用及网络技术的迅猛发展,人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担以及提高工作效率,提高考试的质量。从而使考试更趋于公正、客观。由于计算机自动组卷、阅卷,不仅能节省教师大量宝贵时间,而且能彻底消除出卷人的主观影响,考试工作更加规范化,更加客观、真实、全面的反映教学的实际效果,有助于促进教学质量的提高,有助于实现考、教分离,促使教师严格按照教学大纲的要求认真备课,认真组织教学内容,改进教学方法,对提高教学质量和整体教学水平有着非常重要的意义。现阶段,基于互联网应用技术的在线考试系统,由于客户端配置可以极为简单,考试不受地域的局限,是高校研究开发的一个热点。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,发现自己的不足,使得学习效率得到提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,也具有相当大的经济意义。 三、阅读的主要参考文献及资料名称 [1].《网站开发实践》,邵丽萍,电子工业出版社,2007 年

通用考试系统设计与实现毕业论文

引言 当前的管理信息系统已经发展为集成了计算机网络技术、通信技术、信息处理技术,对信进行收集、传递、存储及加工处理,用于辅助决策进行事务管理的一种人机交互的智能化计算机系统。 随着管理信息系统的发展及其广泛的应用,数据库管理技术已逐步趋于成熟,其应用也已经遍及各个领域。在学校中,信息管理系统已经涉及到教育教学的各个方面,从学生教师管理,到考试安排成绩统计等,都通过信息管理系统来的到高效的运行。同时,学校管理中的在线考试管理也提出了相应的要求。为了满足考试管理的要求,需要设计与制作一个通用考试系统。通用考试系统实现了对整个在线考试管理的系统化,规化,无纸化。整个系统使用户操作起来简便快捷,对减轻学生,教师的劳动强度,提高工作效率与管理水平,具有很大的使用价值。

第一章绪论 1.1背景 网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。随着Internet/Intranet的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。Internet技术的发展使得考试的技术手段和载体发生了革命性的变化,Internet的开放性、分布性的特点和基于Internet的巨大的计算能力使得考试突破了时间和空间的限制。基于Internet的考试系统正成为人们的研究热点之一。与传统考试模式相比,网上考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度提高考试成绩的客观性和公正性。在线考试系统课题产生的背景是当今教育信息化的趋势及我国高校教育信息化系统的建设;目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试以避免传统手工考试的不足。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过Internet/Intranet来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试的客观、公证性,自动化组卷、阅卷可以减轻教师的工作强度。传统考试要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要。网络考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地的对学生进行考试,加上Web数据库技术的利用,大大简化了传统考试的过程。 本文以Internet为平台,研究了基于Web考试系统的设计与实现,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了用户登录模块、题库管理模块和试卷管

在线聊天系统毕业设计论文 (1)

摘要 随着Internet技术的飞速发展,网络已经成为人们生活中不可缺少的一部分,通过聊天室在线聊天已成为网络上人与人之间沟通、交流和联系的一种方式。 为此,越来越多的网站开始提供在线聊天的功能。与此同时,聊天室也以其方便、快捷、低成本等优势受到众多企业的青睐,很多企业的网站中也加入了聊天室模块,以达到增进企业与消费者之间、消费者与消费者之间相互交流的目的。 本文是软件工程在线聊天室系统的开发说明,重点运用软件工程知识对系统进行分析、设计实现和测试的思想的具体描述,其中包括软件生命周期的三个主要方面:软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码、测试)和运行维护。通过实际的运用软件工程知识处理问题,加强程序的规范性、清晰性、可靠性,并且使得程序易于维护。本软件使用JAVA进行编写,具有良好的兼容性且易于实现。聊天室操作简洁容易上手、结构简单、查找方便、实用性强。 关键字:网络、通信、套接字、连接

目录 序言 (3) 第一章 VisualC++及Socket套接字介绍 (5) 一 VisualC++ 介绍 (5) 二 Socket套接字介绍 (6) 第二章软件需求分析 (15) 一系统客户要求 (15) 二系统详细设计 (16) 三系统开发目标 (17) 四系统开发思路 (17) 五需求总结 (18) 第三章系统具体实现 (21) 一概要设计 (21) 二定义服务器端和客户端的通信结构及含义 (22) 三服务器端的实现流图 (25) 四客户端的实现流图 (28) 第四章系统测试 (30) 第五章系统运行和维护 (32) 第六章结束语 (33) 参考文献 (34)

毕业设计-基于ASP的聊天室设计与实现

目录 摘要 (Ⅲ) ABSTRACT (Ⅳ) 引言 (Ⅴ) 第一章系统概述 (1) 1.1系统说明 (1) 1.2系统功能简介 (2) 第二章开发环境介绍 (3) 2.1系统运行环境配置 (3) 2.2ASP简介 (3) 2.2.1 ASP的优点 (4) 2.2.2 ASP的6大对象 (5) 2.2.3 ASP的使用环境 (6) 2.2.4 配置MicrosoftIIS (7) 2.2.5 ASP的脚本语言 (8) 2.3动态网页开发工具D REAMWEAVER MX简介 (9) 2.4系统数据库介绍 (10) 2.4.1 数据库的概念 (10) 2.4.2 ACCESS简介 (10) 2.5“结构化查询语言”(SQL)简介 (11) 2.6ASP与ADO配合工作 (12) 第三章数据库设计 (15) 3.1数据表的介绍 (15) 3.2数据的加密介绍 (18) 3.3建立数据库连接 (18) 第四章总体设计 (20) 4.1用户模块介绍 (20) 4.1.1 服务器及客户端的功能可划分为以下模块 (20) 4.1.2 总体流程图如下 (21) 第五章详细设计 (22) 5.1新用户注册 (22) 5.2聊天室初始化 (22) 5.3用户登陆 (25) 5.4用户帮助 (26) 5.5留言板 (28)

5.6聊天室主页面 (31) 第六章软件测试 (33) 6.1软件测试的重要性 (33) 6.2测试 (33) 6.3步骤 (33) 6.4C HAT 主窗体模块测试 (35) 结束语 (36) 致谢 (37) 参考文献 (38) 程序附录 (39)

摘要 系统主要采用Microsoft ASP作为开发工具,使用Dreamweaver MX 对系统进行编辑,并利用ASP技术与服务器的Access数据库连接。系统采用Microsoft Access作为数据库后台,使系统开发更为简单、方便, 利用ADO数据库访问技术实现对数据库的各种管理操作,实现前台界面设计和后台数据库的设计,并能轻松的实现聊友资料注册,修改,管理员登入,聊天室管理,权限管理,在线名单列表和信息发送,另外还有聊友登入统计情况等功能。系统是基于ASP开发设计的,其主要特性是能动态完成信息的传递,且具有高效的交互性,更有效的处理客户请求, 且具有更简单, 更方便的数据库访问方法, 易于维护和更新。这种技术程序由文本, HTML标记和脚本组合而成, 论文会介绍其运行所需环境及其工作流程和各个功能控件的工作原理。 关键词: 聊天室,对象,Access,IIS

在线考试系统毕业设计论文(精品推荐)

中原工学院软件学院 三级实践课题设计任务书

在线考试系统 摘要 随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!客观!更加激发学生的学习兴趣。在线考试系统是为了方面学生考试、老师阅卷、提高考试的公正性、公平。本文主要包括系统的需求分析、概要设计、总体设计(部分)、详细设计 关键词:需求分析;概要设计;总体

目录 摘要 (2) 第一章系统需求分析 (4) 1.1 功能需求 (4) 1.2 性能需求 (4) 1.3 可靠性和可用性 (4) 1.4 系统ER图 (5) 1.5 工具选择 (5) 1.6实现环境 (6) 第二章总体设计 (7) 2.1 系统模块 (7) 2.1.1 系统模块图 (7) 2.1.2用例图 (8) 2.1.3管理员功能模块 (9) 2.1.4教师功能模块 (10) 2.1.5学生功能模块 (10) 2.2 数据库设计 (10) 第三章详细设计 (11) 3.1 数据表 (11) 3.2 具体模块设计 (15) 3.2.1 学生信息管理模块 (16) 3.2.2 教师信息管理模块 (20) 3.2.3 试卷信息管理 (22) 3.2.4 科目信息管理 (24) 3.2.5 班级信息管理模块 (26) 第四章系统测试 (28) 4.1 所预见的问题 (28) 4.2 系统测试 (28) 第五章结束语 (29)

第一章系统需求分析 1.1 功能需求 本系统要实现的是在线考试系统,在设计时应该有友好的用户界面,便用户的操作。系统应具基本功能如下: 科目管理 章节管理 题库管理(选择题,填空题,判断题,简答题,问答题) 系部管理 班级管理 学生管理 教师管理 管理员信息管理 手动组卷 随机组卷(可以完全随机组卷,也可以按章节比重进行随机组卷) 考试页面 阅卷管理 成绩查询 1.2 性能需求 由于此系统为在线考试系统,响应速度一定要快,要在5秒以内,安全性要高,服务器的磁盘容量要大,主存容量要大,信息处理速率要高。 1.3 可靠性和可用性 由此系统的性质决定,它的可靠性一定要高,尽量减少系统运行中错误的出现,要保持在一定量的范围内。系统可用性也一定要高,尽量避免不可用几率的发生。

在线考试系统的设计和实现毕设参考

软件工程课程设计设计说明书 考试系统的设计及开发 学生姓名 学号 班级 成绩 指导教师 数学及计算机科学学院 2012年12月26日

软件工程课程设计评阅书

课程设计任务书 2012 —2013 学年第一学期 专业:学号:姓名: 课程设计名称:软件工程课程设计 设计题目:考试系统的设计及开发 完成期限:自2012 年12 月17 日至2012 年12 月28 日共2 周设计依据、要求及主要内容(可另加附页): 指导教师(签字):教研室主任(签字): 批准日期:年月日

在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。我主要开发系统的后台管理系统—JAVA在线考试管理子系统,它包括试题管理、考生管理、在线制作试卷、控制学生考试的设置、试卷审批等功能。本论文主要介绍了对JAVA在线考试管理子系统的分析、设计和开发的全部过程。运用ER图,程序流程图等对在线管理子系统的设计过程进行详细的说明。 关键词:在线考试;j2EE

1 课题描述 (3) 1.1 开发背景 (4) 1.2 系统开发目标 (4) 1.3 开发工具的选择 (4) 2 需求分析 (5) 2.1 背景分析 (5) 2.2 可行性分析 (5) 2.2.1 技术可行性分析 (5) 2.2.2 经济可行性 (5) 2.2.3 方案可行性 (5) 2.3 概要设计 (5) 2.4 总体设计 (6) 2.4.1 系统的功能模块图 (6) 2.4.2 系统功能模块 (7) 3 数据库设计 (8) 3.1数据字典 (8) 3.2 数据库的连接 (10) 4 详细设计 (11) 4.1 公共类设计 (11) 4.2 在线考试模块设计 (12) 4.3 查看考生试卷模块设计 (13) 4.4 考试设置信息维护模块设计 (13) 4.5 用户管理模块设计 (14) 5 程序调试及测试 (1) 5.1 系统运行环境 (1) 5.2 测试目的 (1) 5.3 各功能模块测试 (1) 5.3.1 在线考试模块测试 (1) 5.3.2 查看试卷测试 (2) 5.3.3 管理员模块 (3) 5.3.4 用户管理模块测试 (5) 总结 (7) 参考文献 (8)

基于局域网的即时通讯聊天室系统毕业设计

本科毕业设计(论文) 题目基于局域网的即时通讯聊天室 系统设计 部系地方生部 专业电子信息工程

基于局域网的即时通讯聊天系统的设计 摘要 随着计算机科学和Internet 的飞速发展, 网上聊天已成为人们相互交流的一种方式, 与E-mail、相比, 聊天服务更具有实时性和有效性。 本论文提出一个运行于VC平台上的局域网聊天软件的解决方案。该聊天软件包括服务器端和客户端两个模块,客户端通过服务器端进行通信。服务器端模块主要实现了服务器的配置和数据的传递;客户端模块主要实现了用户注册、登录、文字聊天等功能。该软件采用异步套接字的非阻塞模式,并实现对象的序列化和MFC文件对象实现数据的保存。 该软件能够帮助企业在局域网搭建起自己的聊天系统,避免企业部员工使用类似QQ等软件泄露部信息,但是该软件只实现了聊天的基本功能,还有很多不足之处需要改进。 关键字:局域网、即时通信、套接字、异步模式

An instant messaging chat system based of LAN Abstract Along with the high-speed development of the computer science and Internet, chatting on line has been an important method in our communication. Comparing with E-mail and telephone, the chat-line service is more real-time and effective. This thesis proposes a solution of a LAN chatting software based on C++ language, which is operated on the VC platform. This chatting software includes two modules: the server and the client, which can communicate with each other. The server module mainly completes the sever device’s configuration. The client module mainly completes the users’ login, registration, instant messaging and so on. The software used model of non-blocking asynchronous socket , And to achieve the object and MFC series documents the preservation of the object data. This software can help the company to build their own chatting system in the local area network, and it also can avoid the staff

网上考试系统毕业设计论文

网上考试系统毕业设计论文 1 绪论 1.1课题背景 随着人们对信息管理及其运用需求的日益迫切及信息技术的迅速发展,信息系统的整合及运用在办公管理中得到越来越广泛和深入的应用。在线考试系统是典型的集管理信息系统以及网络编程技术,是高校教学工作的重要工作容之一。但随着高等学校管理工作的容、对象不断变化,烦琐的手工操作和一般的计算机软件已经不能满足现代化考试的需要。运用先进的管理信息系统及友好的界面,对学生息资源以及试题资源进行科学化和系统化管理,己经成为高校考试系统的发展趋势。 目前,几乎所有高校的教学工作部门都已经建立了针对日常职能工作的管理信息系统,例如,财务处的财务管理信息系统、教务处综合教务系统、科研处的科研管理信息系统、图书馆的图书检索信息系统等。这些系统在很大程度上提高了部门的工作效率和管理水平。然而,对于高校中的在线考试系统来说,目前还缺乏较为完善的系统化信息管理及其有效利用。 正是认识到在线考试系统在整个学校信息化过程中的重要地位,才需要利用先进的系统开发工具和技术,实现管理工作的信息化、科学化管理;真正做到“充分利用现有资源和信息”,开发出对现有信息的充分整合及操作,减少不必要的、繁杂的手工劳动,提高办公效率,加快教育体制改革的进程。因此,建设开发一个功能完备、操作简便的在线考试系统己经迫在眉睫。 1.2主要容及目的 在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,进行

本科毕业设计论文--网络聊天室的设计

毕业论文(设计) 题目: 网络聊天室的设计 院(系): 计算机科学与技术学院 专业年级:计算机科学与技术2007级 姓名: ****** 学号: 073210240 指导教师: ******讲师 2008年04月01日

原创性声明 本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。 论文作者签名:日期:

关于毕业论文使用授权的声明 本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属******。本人完全了解******有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权******可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为******。本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为******。 论文作者签名:日期: 指导老师签名:日期:

网络聊天室的设计 摘要 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络。由信息时代的到来引发了一场知识和信息革命,计算机和现代网络技术的广泛应用极大地促进了社会经济的发展,同时也带来了一些新兴产业的发展,比如聊天室。聊天室已经慢慢成为人们生活的一部分,呈现出良好的势头和广阔的发展前景。因此产生了制作一个类似QQ的网络聊天工具的想法。 Java是一种程序设计语言,它具有简单的、完全面向对象以及与平台无关的结构,也具有可移植性、高性能和安全性,并提供了多线程的功能,而Java语言最大的成功之处在于它的平台无关性和具有强大的网络编程功能,基于Java网络编程的强大功能本人将用Java编写一个聊天系统。 本文主要介绍了以当前流行的Java语言开发的一个简单的网络聊天室。一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式通过Java提供的Socket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的而Java提供的多线程功能用多线程可完成多点对多点的聊天。该小聊天室主要是为许多喜爱上网聊天的朋友开发设计的,希望能在现有的众多聊天室中给大家多一种的选择。和许多大型的网络聊天室相比该小聊天室比较简单,但能实现聊天的基本功能,点对多聊天,点对点聊天等。本聊天室主要由登录页面、验证页面、聊天室页面、离开页面、查看聊客页面、帮助页面等页面构成。整个设计简洁明了、实用,使用简单。 关键词:java 语言,聊天室,多线程,客户机/服务器

基于JSP的在线考试系统源代码和毕业设计论文

基于JSP的在线考试系统源代码和毕业设计论文

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

网络聊天室的设计与实现

毕业设计(论文)题目网络聊天室设计与实现

毕业设计(论文)任务书(开题报告)

毕业设计(论文)教师指导记录表

摘要:随着网络的逐渐普及,以及网络技术的不段发展,人们

通过网络进行交流的方式变得多样化。网络聊天室便是其中之一。聊天室系统的即时交流方式满足了网络中多人同时聊天交流的需要,使得较多的人在同一个聊天页面进行交流变得方便,简单。 本设计所完成的网络聊天室具有常用聊天室的所有功能,包括多人同时在线聊天、两人间的私密聊天、在发言的时候能够发送表情及图片,还能显示在线用户列表,同时,为了管理聊天室中的用户,设计了用户注册登陆功能,用户管理功能以及用户留言功能。并且,加入了分屏、清屏、屏蔽的辅助功能,增加了聊天室的操作性。 本文首先介绍了聊天室系统所使用到的一些关键技术,接着介绍了该系统的设计思路和需求分析,然后是对系统的详细介绍,包括系统中创建的数据库以及系统的具体功能介绍。 关键词:聊天室;B/S模式;私聊;留言 目录 1.引言 (6) 2 技术简介 (7)

2.1 ASP技术 (7) 2.2 数据库技术 (8) 2.3 加密技术 (8) 3 需求分析 (8) 3.1系统运行环境 (8) 3.2系统总体结构 (9) 3.3 模块功能分析 (9) 4 系统总体设计 (10) 4.1 系统总体规划 (10) 4.2 系统数据库设计 (10) 4.2.1 数据库概念模型 (10) 4.2.2 数据库各表设计 (11) 4.2.3 数据库连接的实现 (12) 5 系统功能具体实现 (12) 5.1 用户注册登陆模块 (13) 5.1.1 用户注册 (13) 5.1.2 用户登录 (14) 5.2 用户密码修改 (14) 5.3 用户发言 (16) 5.4 聊天容显示 (17) 5.5 在线用户列表显示 (20) 5.6 管理功能 (21) 5.7 辅助功能区 (22) 结论 (23) 参考文献 (24) 1.引言 随着网络的逐渐普及,以及网络技术的不段发展,人们通过网络进行交流的方式变得多样化。网络聊天室便是其中之一。在建设迅速发展的今天,基于B/S模式的ASP网络聊天室已经成为较多网民认可的一种聊天交流平台,各种专家座谈、在线答疑室,实质就是聊天室。

在线考试系统毕业设计说明

第1章考试系统概述 1.1 计算机考试系统的研究意义 传统的基于纸和笔的考试老师要花费大量的时间和精力出题、改卷、统计分数等,存在诸多弊端:工作量大、周期长、反馈能力弱、人为的因素影响考试成绩。随着高校扩招和各类考试自动化出卷批改的要求,迫切需要一种高效、快捷、科学的考试方式。随着计算机技术与网络技术的不断发展,利用计算机网络技术实现的计算机网上考试取代传统的手工考试成为一种趋势。 利用计算机对数据库的并发存取功能和网络传输特性,实现高效、准确和科学的网上考试将成为现代教育方式中的一种重要手段。它的优点主要体现在以下几个方面: 1.出卷方便快捷。通过现成的题库系统,只要输入考卷的难度级别、试卷的题型题量等约束条件,软件会自动生成符合要求的试卷,简便、快捷、公平; 2.阅卷准确快速。通过计算机阅卷,可以大大减轻教师阅卷的工作量,提高教师的工作效率,同时提高阅卷的准确性; 3.成绩分析统计科学直观。成绩分析统计由计算机自动完成,可以方便地统计及格率、优秀率和每题的得分情况等。 计算机考试方式的优越性较之传统方式,既灵活方便,又高效可靠,还能及时反馈教学情况,减少诸多中间环节,提高教学效率[1]。 我校有一万多学生,每个学期都要组织大规模的考试,耗费老师大量的时间和精力,如果能够把本课题的考试系统应用到教学实践,一定能够节省很多的时间和精力,提高阅卷效率和正确率。 1.2 计算机考试系统国外研究现状 计算机考试系统指的是由计算机软件来辅助测试,计算机辅助测试简称CAT。60年代初CAT起源于美国,经过40多年的发展,已经在国外得到了广泛应用。 1.2.1 国外在用的考试系统 国外有许多专门的考试机构采用计算机辅助测试对考试对象进行考核,比较著名的有美国Sylvan Learning System Inc,它在全世界一百多个国家和地区有数千个考试中心,提供近百个不同类型,一千多种考试。国也有许多考试采用了计算机考试系统。 1.2000年开始TOEFL考试在中用计算机考试模式[1]; 2.人事部组织的专业人员计算机应用能力考试;

网络聊天室的设计与实现

亳州职业技术学院信息工程系毕业论文开题报告 姓名赵杰 学号03 指导教师 专业计算机软件开发 毕业时间2013.6 论文题目网络聊天室的设计与实现

一、立论依据(论文的研究意义、国内外研究现状分析) 近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系和交流方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。网上聊天系统作为一种方便消费者与人们之间联系的实用系统便应运而生。网上聊天系统是为人们进行交流和联系提供的一个平台。通过提供完善的网上聊天系统的管理,可以达到增进人们与消费者之间、消费者与消费者之间的交流和联系的目的。 在国内许多网站开设了聊天室,比如“新浪网”聊天室、“263在线”、“网易”聊天室等。而人气最旺的,莫过于有“全球最大中文聊天社区”之称的“新浪网”聊天室。该网站为不同年龄、不同职业、不同地区、不同爱好的网友量身定制了数百个不同主题的房间[7]。在国外,也出现了很多的聊天室,比如Omegle、Facebook、MSN、MySpace等。在这些聊天室中,Omegle聊天室比较特别,这是一个针对陌生人交流的Web产品,这个网站与众不同之处就在于能够随机的向每位用户推送一个陌生人与之进行交流。在这里,你不会知道对方的任何信息,所有的信息被红色的“Stranger”一词代替,因此会给人一种全新的感觉。

二、论文内容 1.研究目标、研究内容和拟解决的关键问题 网上聊天系统是为人们之间进行交流和联系提供的一个平台。通过提供完善的网上聊天系统服务,可以达到增进彼此之间的了解,增进人与人之间的感情交流 (1)采用数据库记录在线用户信息及聊天信息; (2)登录及注册功能; (3)群聊与私聊功能; (4)聊天用户实时更新等。 1.信息显示的及时性 2.不同用户的标识 2.拟采取的研究方法、技术路线、实验方案及可行性分析 软件环境 服务器端 操作系统Windows 2000 Server 网络协议TCP/IP Web服务器Internet Information Server 5.0 / Personal Web Server 数据库MSSQL2000 浏览器IE5.0 用户端 操作系统Windows 2000/Windows XP/Win7 网络协议TCP/IP 浏览器IE 6.0以上 一、查询相关资料,了解本系统的研究意义。可以上网搜索或者是去图书馆查阅 相关资料。 二、通过查询资料了解该系统要如何做,及要做哪些东西。 三、设计出大体上的功能模块,画出模块图。 四、通过进一步的了解,对每个功能模块进行细化,将每一步都想清楚。制定出每一步的做法和注意的地方。

计算机考试系统设计大学毕设论文

北京工业大学毕业论文 题目:计算机考试系统 姓名: 专业:计算机科学与技术 学号: 指导教师: 日期:

北京工业大学 毕业设计(论文)任务书 题目:计算机考试系统 专业:计算机科学与技术学号姓名: 主要内容、基本要求、主要参考资料等: 主要内容为:制作计算机考试系统 基本要求是:实现试题录入、自动组卷、随机出题、自动判分,以及成绩显示、打印等 主要参考资料有:《中文Access2000》大连理工出版社 《网页制作教程》人民邮电出版社《轻松学习——ASP网络实用编程》清华大学出版社 完成期限:年 6 月15 日 指导教师签章: 专业负责人签章: 摘要

利用网络和数据库技术,结合目前网络大力建设的有利优势,基于B/S模式研究开发了在线考试系统这一ASP应用程序。它运用方便、操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入、修改和查询,自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生考试并迅速获得成绩,同时也可大大减轻教师出题、组卷和改卷等繁重的工作量。 制作这一系统,希望其尽快在考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来,并使教学质量获得提高! Abstract This ASP for on-line examination system is developed with network and database technologies, in combination with the advantages of current network construction, and on the basis of B/S mode. It is convenient to use and easy to operate, and has high efficiency. Although at current stage, it only applies to the objective questions in examination papers, it has such important functions as input of examination questions, amendment and inquiry, automatic arrangement of papers and on-line examination. In other words, the non-paper examination has been realized indeed. Therefore, any authorized examinee can take examination by this program and get the score very soon. Meanwhile, this program can also reduce a large amount of teachers' work in setting questions, arranging papers and scoring papers, etc. This system is completed with a view to playing high-efficiency and convenient functions in examination as soon as possible, extricating teachers from heavy tasks, and improving the teaching quality! 目录

毕业设计-基于JAVA聊天室的设计与实现

基于JAVA聊天室的设计与实现

I Based on the Java Chat Room Design and Implementation ABSTRACT The rapid development of computer network technology, so that people can choose to communicate more and more the traditional means of communication in the velocity and reliability have been difficult to meet the needs of the people, the instant communication system has become one of the new favorites is an indispensable part. Instant communication refers to the release of information and information receiver almost at the same time to transfer requirements, a small delay system tools. Such as the commonly used QQ tools, web, MSN communication system tools.The system includes the development of a network chat server program and a network chat client program in two aspects. The former through the Socket establish a server, server can read, forwarded from client information, and can refresh the list of users. The latter by establish a connection with the server, to client and client information exchange. Which uses a local area network communication mechanism, through direct Thread class inheritance to create multiple threads. Development of the computer network programming to the basic knowledge, such as the TCP / IP protocol, client / server mode ( Client / Server mode), network programming design method. Network programming in the information read, send, is the use of flow to achieve information exchange, which is introduced to implement a systematic analysis of information flow, including some basic software engineering methods. Through the analysis of these cases, the LAN chat tools using Eclipse as the basic development environment and Java language preparation, first in a short period of time can build up the system application prototype, then, for the initial prototype system, revises and the improvement unceasingly, at the same time, multi-threading, task design, developed a stable performance, fully functional the server. The complete implementation of the function of the system. Through this graduation design can be learned about the application and implementation of object-oriented methods, how to use the Eclipse integrated development environment to create and development projects, thus the complete realization of the function of the system. KEY WORDS:Java chat room ,application program ,development environment

相关文档
最新文档