温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
JAVA
Androi
网络
语音
通信
软件设计
实现
周毓
软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering50基于 JAVA 和 Android 的网络语音通信软件属于是即时通讯工具,能够让人们随时进行信息沟通和交流,所产生的通信费用不高,如腾讯 QQ、微信、MSN 等等。网络用户在通讯软件和工具帮助下,可执行娱乐、交互等内容,具体沟通形式包括文字、视频、音频等等。另外,部分企业在该类通讯软件帮助下,能够完成各项生产及工作任务。现阶段,即时通讯应用范围不断拓宽,技术限制性因素越来越少,属于是现代化沟通手段中的重要形式之一。1 系统需求分析1.1 系统功能需求1.1.1 客户端功能常见的客户端功能主要包括以下几方面1:(1)用户注册登陆模块。客户端注册功能的建设,主要是满足新用户的注册和创建功能,当用户完成注册后,便具备登陆系统的权限,多个用户可同时完成注册操作,后续,可通过注册 ID 登陆到系统之中。虽然一个用户可注册多个 ID,但在规定时间内,不能进行反复注册,最多的注册账号数量为三个。常见的用户名类型为字母加数字,注册时还会设定密码,以此来确保账号的安全性,该功能的用例图如图 1 所示2。(2)用户信息管理模块。用户信息管理功能主要是对个人基本信息进行有效管理,如用户名、密码、个人资料等等,保证对个人信息进行及时修改和查询。(3)好友管理模块。好友管理主要是帮助用户对好友进行管理,常见形式有好友查询、添加好友、删除好友等等。(4)语音聊天功能,该功能可以实现使用者之间的实时交流,并为其提供单人、多人聊天功能。相比之下,语音聊天部分的设计内容十分复杂,常见内容有声音采样、音频压缩以及传输声音等等,主要依靠原型函数进行。1.1.2 服务器端功能(1)在文字消息主服务器设定上,可实现对服务的启动操作,对于初始化系统建设,常见模块内容有数据维护模块、远程管理模块等等。例如,在远程管理模块应用时,可实现对远程管理服务接口的监听操作,并在连接线程帮助下,保证服务的完整性,在此过程中,常见服务内容为 Telnet 服务等等。(2)信息查询服务器。信息查询服务器与主服务器相似,主要内容有服务模块、数据库维护以及远程管理。(3)通讯路由服务器,主要设计模块有服务器管理以及服务器分配。其中,服务器管理模块在应用时,能够让通讯路由服务器得到充分管理,并保证该服务器与其他服务器之间保持良好的连接关系。反观服务器分配模块,主要是在文件传输过程中,帮助其选择负载最小的通讯路径,提升通讯速度3。1.2 系统的性能需求常见的系统性能需求主要包含以下几方面:(1)实用性需求。(2)安全性需求。(3)服务的稳定性需求。(4)响应速度更快。(5)系统的可扩展性和可移植性。1.3 系统其他方面的需求基于 JAVA 和 Android 的网络语音通信软件设计与实现周毓(梧州职业学院 广西壮族自治区梧州市 543002)摘要:本文以实际工作开展情况为基础,对基于 JAVA 和 Android 的网络语音通信软件设计内容进行总结,论述了网络语音通信软件的实现方法。随着电话网络的不断发展,互联网得到了更好应用,其中,互联网通信与沟通功能展示显得尤为重要。近年来,随着计算机技术的进步,出现很多新的网络语音通信软件设计形式,网络语音通信软件便是其中之一,能够为人们生活与工作提供更多便利。关键词:JAVA;网络语音;通信软件软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering511.3.1 协议需求在双方或者是多方用户完成功能任务时,需要具备一定的协议标准。换句话说,多方用户想要完成即时通讯,相关协议设定必不可少,尤其是在交换信息方面,应根据协议设定操作,让相应字段能够处于保持状态,消息格式设定也要根据协议要求进行。对于协议的设定,相关人员需要对多方面因素进行考虑,保证条款的合理设计,决不能出现误导情况,对于每一步操作也要做到清晰划分。更为重要的是,协议内部还要保证即时消息的成功投递,倘若出现投递不成功现象,系统应向发送方进行提示,此时,发送方可根据协议内容,重新制定发送操作计划。1.3.2 音频传输需求网络传输音频的实现,需要具备以下几个前提条件:(1)双方之间的网络连接。音频数据传输的实现,最为重要的前提当属数据链路建设。从常规通信协议设定角度来说,可靠性较高的协议当属 TCP,可在应用程序中稳定运行,不会出现数据丢失问题。另外,在通信协议选择上,与应用程序类型存在直接关系,对于网络连接建设,音频信号接收和发送稳定性维护显得尤为重要,这也是双方网络连接稳定的前提所在。(2)音频信号的采集和回放。具体采样速率设定上,常见的声音信号频率有 8kHz 和 328kHz,并搭配合适的网络带宽4。2 基于JAVA和Android的网络语音通信软件设计内容2.1 系统架构设计该系统主要组成部分包括两方面,即 C/S 客户端/服务器架构的服务器以及通信终端装置,也就是人们常说的客户端。对于用户登陆信息的验证,主要依靠Server 进行,该程序还能完成状态通知转发信息以及信息查询等功能。与此同时,在静态数据库建设上,应保证其保存和整理功能不受任何影响。在服务器设定上,主要涉及到的服务器程序内容如下:(1)文本信息主服务器;(2)信息查询服务器;(3)通讯路由服务器。系统硬件架构图如图 2 所示。上述服务器在运行时,可实现各个应用程序的独立运作,从结构角度来说,同样能够处于统一的逻辑服务器状态,独立性较强,可在电脑上实现运行,也可处于同一台计算机内部。三台服务器在运行时,可依靠 TCP完成消息请求/响应通信接口之间的通信链路。在整个服务器框架之中,人们可根据具体负载情况,设定合理的服务器种类和个数。对于服务器逻辑关系设计,具体情况如图 3 所示5。文字消息服务器在运转过程中,主要是完成对服务内容的启动操作,保证系统内部其他模块处于初始化状态,建立必要的进程,还能实现对其他两个服务器初始化参数传递。在信息查询服务器应用上,可实现对用户需求信息的查询和处理操作,对服务器传递的参数内容进行接收,确保相应进程能够顺利启动。通讯路由服务器应用上,可完成服务器管理操作,让服务器负载更加均衡,数据分配上也会显得更为合理。2.2 系统总体设计当调研和问卷调查工作完成后,相关人员可完成对系统功能和性能内容的深入分析,之后通过对数据资料研究,打造系统功能模块。例如,在客户端功能设计上,主要包括的模块内容有用户注册登陆模块、用户信息管理模块、好友管理模块以及语音聊天模块等等。2.3 客户端功能设计基于 JAVA 和 Android 的网络语音通信软件设计,客户端功能设计内容必不可少。在该模块帮助下,能够为用户提供相应功能,保证用户能够进行相互通讯。在客户连接关系建设上,主要依靠Socket以及服务器进行。对于输入/输出流设计,往往会应用到 PrintWriter,也正是在输入/输出流帮助下,双方可完成信息传递操作。当客户端连接请求发出后,服务器中的 accept 函数会将新的 Socket 对象返回,完成客户端向服务器的消息发送任务。例如,在登陆与好友请求发出后,服务器会针对图 1:客户端注册登陆用例图软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering52不同消息处理请求开展相关任务,如用户信息管理、好友管理以及文件收发等等。2.4 文字消息主服务器模块设计2.4.1 服务模块服务模块涉及到的设计内容主要包含以下几方面:(1)传送连接,主要是打造网络连接的接收模块,制定 TCP 端口监听流程,收集客户端连接请求,为用户提供合适的连接服务进程。(2)用户状态变化管理。当用户登陆语音通讯软件后,可根据实际情况对自身状态进行更改,如忙碌、离开等等,服务器也要对该类状态进行有序管理,一旦出现变化情况,可将具体内容存储在数据库内部,并向其他用户专递其状态变化信息,为用户之间的通讯提供便利。(3)文字消息转发。在一些特殊阶段,客户端无法直接完成信息转发任务,之所以会出现该类问题,主要是由于对方存在网络不佳、下线等情况,但无论消息转发的触发因素如何,服务器均能对其进行处理,保证将消息内容暂时存储于数据库之中,在合适的时间段内进行转发。(4)通讯路由器分配。通讯软件运转阶段,文件传输属于是重要功能内容之一,如果所有传送任务均有一个服务器进行,整个主服务器所展示出的处理效率将十分有限,为了避免该情况出现,相关人员应做好服务器负载平衡设定任务,做到对在线用户信息的充分维护,对于其他传输功能的实现,可设定独立的服务器,如通讯路由服务器等等6。2.4.2 数据维护模块常见的数据维护模块功能主要包括以下几方面:(1)用户在线更新。用户进入到系统后,自身在线状态能够在数据库中得到记录,该项操作还能为用户之间的交流提供便利。(2)数据库连接管理。用户登陆系统后,会自动建立客户端与服务器端数据库连接关系,并确保各项连接状态的合理性。当用户关闭与服务器之间的连接关系,或连接操作长期没有执行,系统也会在第一时间内进行处理。(3)服务器配置。服务器配置内容以相关参数设定为主,如时间、日志、备份等信息设置。2.4.3 远程管理模块通过对远程管理服务端口监听,可实现对管理员连接操作的有效处理和接受,建立具体的服务内容。(1)在 Telnet 服务过程中,主要是向用户提供新的 Telnet 方式,保证与主服务器建立良好连接关系,为其他操作的开展创造良好条件。(2)运行状态查询,主要是完成主服务器运行状态和参数查询任务。(3)配置热生效。倘若对主服务器各项配置参数进行修改,相关人员应确保主服务器运行不受影响,并保证配置更改后及时生效,避免出现主服务器重启等问题。3 网络语音通信软件的实现方法3.1 系统的开发环境在该服务器操作系统设计过程中,常见操作系统有图 2:系统硬件结构示意图图 3:服务器逻辑关系软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering53Unix、Windows Server 等等。另外,在数据库服务器建设上,主要应用的数据库系统为 SQL SERVER2000 关系型数据库,可实现对基本信息和数据的保存和管理,为后续数据资料存取操作创造有利条件。在前端设计上,常见操作系统为 Windows,能够建立良好的通讯软件桌面显示环境,在窗口界面形式帮助下,业务请求能够顺利发起,保证数据的有效录入和查询。3.2 客户端模块的实现3.2.1 用户注册登陆用户登陆系统后,会提出具体的注册需求,此时,服务器会对用户在界面中输入的基本信息进行接收,并为用户分配编号,与数据库建立连接关系,之后将各项记录转移到数据库之中。注册成功后,系统会向客户发送具体编号,使其成为注册在数据库中的 IP 用户,根据实际情况更新自身状态,并将其因为在线用户。后续,用户可根据个人需求,选择具体的连接对象进行交流。需要注意的是,只有注册过的用户才能登陆到系统之中,并通过编号和密码输入,点击确定键后,登陆信息会进入到服务器端,检测用户信息的正确性7。3.2.2 用户信息管理用户信息管理功能的制定,主要是让用户通过系统,保证个人基本信息得到有效管理,常见内容有用户名称、密码、状态等等。例如,在用户信息查询方面,用户可实现对个人信息的实时查询,具体查询结果的反馈形式以窗口形式为主,用户可根据具体查询结果,对相关内容进行修改。3.2.3 好友管理好友管理内容主要包括以下几方面:(1)查找好友,具体好友查找方式主要包括用户名查找、用户编号查找等等,而且还能完成好友的模糊查询操作,支持多个属性的综合查询,查找结果以用户