现如今手机的通话费用仍然较高,特别是在漫游后者拨打长途电话时。相对于以时间来计算通话费用而产生的高额话费来看,通过网络传输语音而产生的流量费用要低得多,并且并不存在任何地区的差异,也不存在所谓的长途额外费用。因此,基于互联网设计的安卓语音通信软件的产生已经成为了必然的趋势。
1.2 课题目标
本课题通过设计实现一个局域网内的语音通信软件,来模拟互联网状态下语音通信软件的运行过程。主要实现语音的采集、处理、发送、接受和播放等功能来完成一个语音通信的过程,并了解相关功能部分使用的关键技术、熟悉socket通信的基本方法和TCP协议下数据的接受和发送等操作。
1.3 研究现状和发展趋势
2  开发环境和相关技术 
2.1 系统开发环境介绍
2.1.1 Android开发环境
Android的上层应用程序是用Java语言开发,所以开发Android的应用主要使用Ecilpse软件。除了Eclipse之外,为了满足Java语言的运行环境,还应该有由SUN公司提供的Java SDK(其包括JRE:Java Runtime Environment)。除了以上两者之外,对于Android应用的开发还需要有Google提供的Android SDK。同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更。ADT是Eclipse下开发工具的升级下载的工具。简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发:
(1) Java SDK
(2) Eclipse
(3) Android SDK
(4) ADT
2.1.2 Eclipse
Eclipse是由IBM公司开发出来,后来又免费捐献出来的开源工具,是一套主要用于Java开发的IDE。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。尽管 Eclipse 是使用Java 语言开发的,但它的用途并不限于 Java 语言,Eclipse 框架还可作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。Eclipse除了开发Java程序,在安装必要的插件后可以做为其他开发工具,如按装了C++插件后就可以开发C++应用程序。Eclipse具有强大的扩展功能,加上其开源的特性,导致许多爱好者和公司为其开发了非常优秀的插件,Myeclipse就是其中之一。Myeclipse是面向J2EE开发者的Eclipse插件,功能强大、好用。
2.1.3 Android SDK
SDK(Software Development Kit)是一些开发工具的集合。这些集合主要是备用在特定的软件包、硬件平台、操作系统以及软件包上。SDK作为整体开发中必不可少的工具包,它向开发者提供了所有在开发者需要的工具(除了库函数)。
2.2 系统开发技术介绍
2.2.1 TCP协议
TCP(Transmission Control Protocol)即传输控制协议,是一种面向连接(连接导向)的、可靠的、基于IP的传输层协议。Java 为TCP 协议提供了两个类: Socket 类和ServerSocket 类.一个Socket 实例表示了TCP连接的一端。ServerSocket 实例监听TCP连接请求,并为每个请求创建新的Socket 实例。也就是说服务器端要同时处理ServerSocket 实例和Socket实例, 客户端只需要使用 Socket 实例.
TCP连接需要通过3次握手来实现,其中client通过connect()来建立TCP连接,connect()会发送SYN报文;server通过bind()、listen()、accept()来接受一个TCP连接,listen()会处理三次握手。下图展示了TCP连接中3次握手的过程:
 TCP连接中的3次握手
图2-1 TCP连接中的3次握手
TCP连接过程中,通过客户端的close()来中止连接。终止一个连接要经过 4 次握手。这是因为 TCP 的半关闭造成的。TCP 连接的全双工性质导致了关闭必须从两个方向上进行。每当一方完成数据的发送后,需要额外的发送一个FIN来表情中止这个方向上的连接。而当一端收到一个 FIN的时候 ,它需要再告诉应用层去终止收到FIN方向上的数据传送。。发送 FIN的情形 一般发生在应用层进行关闭的时候
上一篇:C#利用网络模拟基本电话业务
下一篇:基于KSVD的图像稀疏编码算法与性能基准分析软件

基于Apriori算法的电影推荐

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

python基于决策树算法的球赛预测

基于消费者个性特征的化...

基于网络的通用试题库系统的整体规划与设计

医院财务风险因素分析及管理措施【2367字】

AT89C52单片机的超声波测距...

神经外科重症监护病房患...

国内外图像分割技术研究现状

C#学校科研管理系统的设计

中国学术生态细节考察《...

承德市事业单位档案管理...

公寓空调设计任务书

10万元能开儿童乐园吗,我...

志愿者活动的调查问卷表