2.1 对已有聊天软件的分析 如今,聊天软件种类繁多,发展迅速。下面简要的对已有的聊天软件作一下总结分析: copyright paper51.com 1 功能分析 paper51.com 作为如今流行的聊天软件之一QQ,功能已经非常强大,基本上朝着三个大的方向发展,即个人及时通信,企业实时通信和娱乐资讯。它的功能主要有: 内容来自www.paper51.com
² 个人文本聊天 paper51.com
² 图像传输 http://www.paper51.com
² 文件传输 内容来自论文无忧网 www.paper51.com ² 聊天室聊天 paper51.com ² 隐身,上线 内容来自www.paper51.com ² 群聊天 内容来自论文无忧网 www.paper51.com ² 企业级实时通信 内容来自论文无忧网 www.paper51.com 可以看出,聊天软件的发展方向是三维化,人性化,综合化。 内容来自www.paper51.com 2 网页聊天室 paper51.com 作为另一种聊天软件形式,网页聊天室也受到用户的普遍欢迎。网页聊天室的优点就是很好的利用了浏览器的功能,用户不需要安装任何新的软件,即可加入聊天室聊天。由于其客户端的简化,其功能必然受到限制。 内容来自论文无忧网 www.paper51.com 3 缺陷 内容来自www.paper51.com 不管是QQ,还是网页聊天室,其最大的缺陷就是服务器固定,用户必须连接上服务器。如果想在一个自治系统之内(一个孤立的网络)通信,NetMeeting是一款不错的软件。本项目的开发目标也是如此,即追求服务器的灵活性,任何用户都可以建立自己的服务器。 paper51.com 2.2 系统有关的技术 内容来自www.paper51.com 2.2.1 网络通信技术 paper51.com
在windows下,网络通信的技术有netbios编程,重定向器、邮槽和管道,Winsock编程以及WinInet API等。下面简单的介绍一下netbios和winsock编程技术。 内容来自www.paper51.com
1 NETBIOS copyright paper51.com
网络基本输入/输出系统(Network Basic Input/Output System,NetBIOS)是一种标准的应用程序编程接口(API)。对应于OSI模型,NetBIOS主要在会话和传输层发挥作用。NetBIOSAPI实施方案适用于为数众多的网络协议,使得编程接口“与协议无关”。NetBIOS API中的两个主要的概念是LANA编号和NetBIOS名。LANA编号对应于物理网卡和传输协议的唯一组合NetBIOS名长度16个字符,其中第16个字符作为特殊用途保留下来。在Win32环境下,针对每个可用的LANA号,每个进程都会为其维持一张NetBIOS名字表。若为LANA0增添一个名字,意味着应用程序只能在LANA 0上同客户端建立连接。另外,NetBIOS名分为唯一名字和组名两种类型。NetBIOS同时提供了“面向连接”服务以及“无连接”服务。有了上面的概念,我们来看看NetBIOS API的设置,只有一个函数:UCHARNetbios(PNCB Pncb);其中PNCB是指网络控制块的指针,该网络控制块包含了Netbios命令和所需的参数。 http://www.paper51.com
2 WINSOCK 内容来自www.paper51.com 在为通信双方开发应用程序的情况下,套接字是相当有用的。可以说网络通信的基石是套接字,一个套接字是通信的一端。在WINDOWS系统中进行编程时,总是需要使用很多系统提供的应用程序接口来调用系统功能,或者与系统交互,在WINDOWS系统中专门针对网络编程的接口——WinSock API。该接口包含了一组网络I/0和获取网络信息的库函数,这些函数均需要套接字作为一个参数。实际上,一个套接字包含了本地协议端口,本地主机地址,远地协议端口,远地主机地址,协议这5种信息,是网络通信中的一个端点的抽象。WINSOCK规范不仅包含了人们所熟悉的Berkeley Socket风格的库函数,也包含了一组针对windows的扩展库函数,以使程序员能充分的利用windows消息驱动机制进行编程。 内容来自www.paper51.com 3 两种技术的比较 paper51.com 这两种编程接口各有优缺点,下面是对它们的一个比较: 内容来自论文无忧网 www.paper51.com ² Netbios编程接口简单易学,Winsock编程接口较多。 内容来自论文无忧网 www.paper51.com
² 这两种编程接口在标示应用程序时所采用的方法不同,Netbios采用Netbios名+lana号,winsock采用套接字。 copyright paper51.com ² Netbios被更多的协议支持,也就是所谓的与协议无关,而winsock只能在tcp/ip上面运行。 内容来自www.paper51.com ² Netbios适用于一个网段内通信,不能跨越网段通信,而winsock可以,适合整个网络通信。 http://www.paper51.com 2.2.2.ASP脚本对象 copyright paper51.com 他们分别是FileSystemObject、TextStream、Session、Application、Global、Request、以及Response和其内置对象和组件。 copyright paper51.com
2.2.3 SQL语句介绍 内容来自论文无忧网 www.paper51.com SQL全称是“结构化查询语言(StructuredQuery Language)”,最早的是为其关系数据库管理系统SYSTEM 开发的一种。过程语言的力量并且简化SQL的使用,因而节约了大量的时间,因为用不着付出客户端/服务器通讯的过热。通过使用查询语句的应用可以获得可观的性能提升。当你的查询相对简单的时候,每次从头开始创建SQL语句也不费什么工夫,不过,复杂的查询就不同了,每次都从头来会产生很多开发错误。因此,一旦让SQL顺利地运行起来,你最好把它们存起来,在需要时再调用它们。这样,哪怕是一个简单查询你都能随时用上存储的查询语句了。 copyright paper51.com
2.2.4、ASP与Access数据库连接: 内容来自www.paper51.com
1. <%@language=VBscript%><% set conn=Server.CreateObject("ADODB.Connection") paper51.com conn.open"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &server.mappath("../Data/Examination.mdb") http://www.paper51.com %> http://www.paper51.com 或者 copyright paper51.com <%@language=VBscript%><% set conn=server.createobject(ADODB.connection) 内容来自论文无忧网 www.paper51.com Constr=”driver={Microsoftaccessdriver(*.mdb)};dbq=dbpat” http://www.paper51.com Conn.openconnstr 内容来自www.paper51.com DBQ=E:\(毕业设计)\zuopin\data\Exam.mdb paper51.com %> http://www.paper51.com
在线网络考试可以说,B/S结构是当前管理软件系统架构的必然趋势。 内容来自www.paper51.com
2.3 系统方案说明 paper51.com 2.3.1 可选择的其他系统方案 内容来自www.paper51.com
1 基于腾讯QQ的通信聊天工具 内容来自论文无忧网 www.paper51.com 该方案采用winsock作为底层网络通信技术来实现聊天室聊天,广播聊天,二人私聊和文件传输。该方案要求在TCP/IP协议的基础上运行。由于winsock对广播传输,建立连接传输,数据报传输的支持,该方案是可行的。 copyright paper51.com 2 基于directx语音技术的聊天工具 内容来自论文无忧网 www.paper51.com
该方案采用directsound技术来实现语音的采集,回放。Directsound语音技术作为directx的一个组件,已经非常的成熟,可以在API层面上进行录制声音,并把声音数据录制到内存中去用于远程传输。因此该方案也是可行的。 内容来自www.paper51.com 3 基于网页形式的聊天工具 内容来自www.paper51.com 该方案利用现在成熟的网页技术来实现聊天工具的开发。该方案不再需要对底层网络通信进行开发,因为有HTTP的很好的支持。因此工作重心转到语音聊天的开发和服务器端的开发。对于网页开发,现在有.NET等工具很好的支持,因此该方案是可行的,但是必将导致服务器固定这一缺点,不符合该项目提出的初衷。 copyright paper51.com
2.3.2 本系统的方案 copyright paper51.com
1 系统说明 内容来自www.paper51.com 本聊天工具最终采取的方案为NETBIOS+WAVEX+ASP,即底层通信技术采用NETBIOS通信,语音技术采用WAVEXAPI,开发工具为ASP。NETBIOS对于跨平台,跨协议有很好的支持,而且以名字标示主体,大大简化编程。要求该聊天工具可以实现服务器自建,几种聊天方式,文件传输等功能。 内容来自www.paper51.com 2 处理流程 内容来自www.paper51.com
paper51.com
图 2- 1 paper51.com 3 局限性 http://www.paper51.com
² 由于NETBIOS不能跨网段传输,因此该聊天工具适用于同一个网段之内。 copyright paper51.com ² 没有对视频,图像聊天的支持 copyright paper51.com 2.4 系统任务概述 copyright paper51.com 利用NETBIOS通信技术实现一个能够广播聊天,聊天室聊天,二人私聊以及文件传输的一个聊天工具。具体目标见下面: 内容来自www.paper51.com ² 登录,用户可以以任何身份登录,如果是第一次进去本系统那么可以到注册界面注册一个用户进入到本系统. paper51.com ² 可以修改个人的资料,保存读取个人的资料。 http://www.paper51.com ² 可以公开聊天,此时,不需要选择对象。 paper51.com ² 可以选择聊天的对象,也可以公开聊天。 http://www.paper51.com
² 可以察看某个人的详细资料。 copyright paper51.com
² 可以和某人私聊,别人看不到。 copyright paper51.com
² 可以隐身或者在线或者忙,自动回复。 copyright paper51.com ² 聊天内容为纯文本方式。 内容来自www.paper51.com ² 可以察看本机的ip地址和mac地址。 http://www.paper51.com ² 可以选择通信方式(数据报方式,阻塞或非阻塞方式)。 内容来自论文无忧网 www.paper51.com ² 可以建立netbios连接,用于两个人的私有聊天室。 copyright paper51.com ² 可以在两个人的私有聊天室基础上实现文件传输。 copyright paper51.com
|