基于VC语音聊天系统的设计与开发
The design and development of voice transmission based on VC
摘要
随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布,通信,数据共享等等。局域网的发展也同样迅速。很多政府机构,企业,,都是先以一个统一的局域网联结在一起,再分别接入INTERNET.因此基于局域网的即时通信工具,就这样应运而生了。所以本文提出了一个更加合理的设计,并在WINDOWS平台上加以了实现.在本实现内将客户端和服务端综合在一个程序之内,用多线程实现不同的并行任务。并进行了人性化的界面设计,使用起来更加简单方便,并且功能十分合理,又易于扩展以及个性化定制。本文通过局域网聊天系统来具体共享内存实现进程间的数据交换,利用windows消息机制实现进程间的同步,两种机制结合使用。
关键词: 信息传输;网络编程;语音传输;多媒体;
Abstract
Along with the high-speed development of the computer network technology, various of applications based on network was born, like information releasing, data sharing ... The development of the LAN is the same fast. Some governments, enterprises and schools constitute a LAN first ,then join into INTERNET. So the instant messenger in LAN was borned. So I make a new design, and implement it on WINDOWS platform. In my implementation the client and the server were integrated in one program with multi thread mechanism. And had a good GUI,it was very easy to use it. And the function is very realizable. At last, it is also easy for expanding.
Key words: Information transmission; Network programming; Voice transmission; Multimedia;
目 录
摘要 II
Abstract III
1绪论 1
1.1 课题背景及意义: 1
1.2 课题现状 1
1.3开发平台与技术的选择及介绍 2
1.3.1开发环境的介绍 2
1.3.2 WINDOWS SOCKETS网络编程接口概述 2
1.3.3 VC++6.0开发平台简介 2
2需求分析及可行性研究 3
2.1需求分析: 3
2.1.1现状分析 3
2.1.2功能要求 3
2.1.3系统基本流程图 4
2.1.4 性能要求 4
2.1.5 测试环境规定 4
2.2 可行性研究: 4
2.2.1成本可行性分析 4
2.2.2技术可行性分析 4
3相关开发技术的原理性说明 5
3.1 win32编程原理及MFC框架 5
3.1.1 WIN32编程原理 5
3.1.2 MFC框架 6
3.2 TCP/IP 协议及WINDOWS SOCKETS网络编程接口 7
3.2.1 TCP/IP协议简介 7
3.2.2 WINDOWS SOCKETS网络编程接口概述 8
4 总体设计 10
4.1体系结构设计 10
4.2 功能模块划分 11
5 详细设计及编码实现 12
5.1服务器和客户端功能的实现 12
5.2 语音模块实现 14
5.3本地扫描模块实现 15
6 系统功能的测试与分析 18
6.1语音聊天程序使用介绍 18
6.2 测试与分析 19
结论 20
参考文献 21
致 谢 22
1绪论
1.1 课题背景及意义:
随着全球信息化进程的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着企业规模的扩大,业务量的增加,在局域网上运行的应用越来越多,如知识库、网络会议、数据库应用和数据的同步与备份等,这些应用对局域网的信息吞吐、处理能力的要求也越来越高。这些在企业内部原有局域网设计之初未曾考虑到的新情况的出现使得局域网不堪重负,容易发生信息阻塞,此时,局域网不但不能提高生产效率,反而成为企业发展的瓶颈。
随着电子进一步发展,笔记本型、掌上型等微型计算机必将以更优的性能价格比受到人们的欢迎。那么要进行交流,语言、文字就是不可缺少的。如何进行网络间的语言文字交流以及直接的语言交流?通过对Visual C++和Windows网络编程技术的学习,本系统旨在开发出一个能够进行简单网络间语言文字交流的语音传输软件。
1.2 课题现状
基于VC的语音聊天系统的即时通信工具,实际上是互联网即时通信工具的一个小规模版本,广域网上的即时通信工具,如今一般采用UDP或者 TCP协议体系来实现 ,开发技术已经比较成熟,比如较早的ICQ,MSN Messanger,Yahoo 通这些国外开发的产品,还有国产的有名的QQ,新浪UC,LAVA-LAVA等,这些工具统统都实现了广域网上的即时通信,尽管都是即时通信,实现了即时聊天,以及文件传输的主要功能,但是也各有各的特色,比如ICQ的巨大客户群,MSN的个性化表情,YAHOO通的易操作性等。而QQ也具有一个相当方便的屏幕截图功能,另外就是,所有上述软件都实现了网络即时的视频,语音聊天功能。这些软件,在使用方面各有特色,在实现方面也各有所长,但基于这些产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是它在大的方面无非就是各种利用各种平台上的网络通信接口,建构基于下层TCP/IP,或者UDP/IP协议的软件产品。在局域网内,这些功能的实现跟广域网相比更加简单,因为局域网的网络结构本身比广域网要复杂,但是又可以借些理解网络协议,以及网络通信工具的实现原理,所以仍然极具研究价值。
1.3开发平台与技术的选择及介绍
1.3.1开发环境的介绍
我所设计的是一个面向中小型机构内部通信需求的语音聊天软件,要在短时间内开发出来并且要满足客户要求,无论是硬件还是软件都要选择合适,要求如下:开发设备应该完备;开发机器的性能必须稳定;操作系统的选择必须恬当;开发出的程序可以在尽可能多的平台上运行;要求运行机配置尽可能低档。对此,我们选择的硬件环境和软件环境如下:
(1) 硬件环境
开发该系统应尽可能采用高档的硬件。因此,在应用时应采用更好的配置。
处理器:Intel Pentium PIII或更高处理器。
内存:128MB或更高。
网络:局域网。
(2) 软件环境
选择好的操作系统和好的编程语言是系统优劣的关键,我们要求系统在尽可能多的环境下运行,故选择Windows XP平台,对于一些无法在98中运行的API函数,一律不采用,并采取优化的算法编写程序。因VC6.0具有友好的集成开发界面、面向对象的可视化开发模式、良好的数据库及多媒体应用支持以及高效的软件开发与程序运行,功能更大,开发效率更高,不仅是网络环境下的优秀前端开发语言和工具,也是服务器端Web编程的优秀工具。加之我本人对本系统的操作最为熟练,所以选择该平台为开发环境。
1.3.2 WINDOWS SOCKETS网络编程接口概述
既然选定了Windows平台,而又要开发网络通信程序,所以可以选择Windows的Sockets编程接口,Windows Sockets是一套开放的、支持多种协议的Windows下的网络编程接口。现在的Winsock已经基本上实现了与协议无关,你可以使用Winsock来调用多种协议的功能,但较常使用的是TCP/IP协议。Winsockets无疑是我们进行网络编程的利器。
1.3.3 VC++6.0开发平台简介
开发平台我选用了VC6.0,因为一直以来都使用VC6进行学习,对这个IDE最为熟悉,再者VC同样是由微软开发的系统,与其操作系统,
上一篇:
基于VC的聊天系统毕业论文(2003doc)
下一篇:
采用VC的伺服电机控制毕业论文(2003doc)