摘 要
本论文讨论了Windows环境下局域网语音聊天程序的设计思路和设计方法。其中网络通信部分采用流行的TCP/IP协议。程序采用典型的C/S(服务器/客户端)构架, 用socket编程设计网络通讯。界面设计部分采用Windows MFC框架。分析了服务器端应用系统软件的结构和功能,阐述了系统的实现方法和实现思路。硬件上只需要一块双DMA通道的声卡(目前的声卡大多支持双DMA通道)和一支耳麦,其余全部由软件编程实现。
论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了语音通信的设计思路、难点技术和解决方案。
关键字:局域网; 语音通信; socket; C/S构架
Abstract
This article discusses how to design and develop a LAN chatting program in Windows environment. Net correspondence part uses popular TCP/IP agreement. The procedure uses the model C/S (server/Client side) skeleton, programs the design network communication with socket. The contact surface design part uses Windows the MFC frame. Has analyzed the server end application system software structure and the function, Elaborated the system realization method and the realization mentality. On the hardware only needs the double DMA channel sound card (the present sound card mostly to support the double DMA channel) together and journal wheat, other completely program the realization by the software.
The paper mainly introduced this topic development background, must complete function and development process. Key explanation pronunciation correspondence design mentality, difficult technology and solution.
Keywords: the local area ;network pronunciation corresponds ;socket C/S skeleton
目 录
第1章 概 述…………………………………………………………………1
1.1 开发环境简介... 1
1.2 Visual C++程序设计... 3
1.3 低层波形音频... 4
第2章 WINDOWS SOCKET网络编程的研究……………………………8
2.1 计算机网络的体系结构... 8
2.2 TCP/IP的体系结构... 9
2.3 客户机/服务器模式... 10
2.4 Winsock介绍... 11
2.4.1 Winsock 的基本概念... 11
2.4.2 Winsock 的编程特点... 12
2.4.3 Winsock 基本的API. 13
2.4.4 异步选择机制... 18
2.4.5 winsock编程原理... 18
2.5 系统实现的功能及设计要求... 21
2.5.1 系统实现的功能... 21
2.5.2 设计要求... 22
第3章 系统分析与设计……………………………………………………23
3.1 设计思想... 23
3.2 界面设计... 25
3.3 软件设计要点... 26
3.3.1 客户端... 26
3.3.2 音频数据处理的CSound类... 27
3.3.3 主框架程序... 27
第4章 系统的实现…………………………………………………………29
4.1 连接服务器... 29
4.2 语音处理的实现... 30
第5章 系统运行效果及改进意见…………………………………………33
5.1 系统运行结果... 33
5.2 存在不足... 33
5.3 未来形势... 33
第6章 总 结………………………………………………………………35
致 谢…………………………………………………………………………36
参考文献………………………………………………………………………37
第1章 概述
21世纪是以网络为核心的信息时代,它的主要特征就是数字化,网络化和信息化。而在“三网”即电信网,有线电视网和计算机网络中发展最快并起到核心作用的就是计算机网络了。计算机网络在目前主要是指按照网络协议以资源共享和互相通信为目的,将地理上分散并且独立自主的计算机互相连接的集合。计算机和通信技术的紧密结合。通信和计算机的结合主要指两方面:一方面,通信为计算机之间的数据传递和交换提供了必要的手段;另一方面,数字计算技术的发展渗透到通信技术中,又提高了通信网络的各种性能。随着技术的发展和进步,进入20世纪80年代以来,出现了一系列语音通信的软件,比如NetMeeting、IPPhone、MediaRing以及VoxPhone等等,但这些软件都功能完善、相对独立,不利于集成到自己开发的软件中,有时我们也希望将这种语音通信功能集成到自己的软件中,尤其当一个单位的局域网用户分散在不同的房间时。
网络语音通信已经发展多年,早些年由于互联网接入主要以调制解调器为主,制约了网络语音通信的发展,今天,宽带接入越来越普及,语音应用完全没有问题,已经可以给人类带来最廉价的语音通信,但是目前只能限制在点对点通信。
本设计给出一种灵活、简单的实现方法,采用基于对话框的方式编程,硬件上只需要一块双DMA通道的声卡(目前的声卡大多支持双DMA通道)和一支耳麦,其余全部由软件编程实现。程序在 Windows98/2000、Visual C++6.0 下编译通过,在Windows NT 100M 以太网上运行良好。