论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP JSP .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 代写论文
当前位置: 澳门大西洋城开户 > 计算机 > VC >

A40023局域网即时聊天程序的设计与实现C++

 声源采集模块放到缓冲区里的语音数据经过这个模块以后到达音频再生模块。在这里采集到的声源数据并不能保证完全被保存并进行传送,因为可能会出现声源数据量如果多于录音内存量的话就不能进行保存,而要等待经过音频再生模块并释放出来的内存,然后再进行保存。 copyright paper51.com

内容来自snowings.com

                                               N 内容来自snowings.com

内容来自论文无忧网 snowings.com

内容来自论文无忧网 snowings.com

等待空闲内存 http://snowings.com

                                   Y paper51.com

copyright paper51.com

进行传送

内容来自论文无忧网 snowings.com

                                   

copyright paper51.com

内容来自snowings.com

释放内存 内容来自论文无忧网 snowings.com

传送完毕

内容来自snowings.com

                                                               N

copyright paper51.com

内容来自snowings.com

                                                          Y

paper51.com

内容来自论文无忧网 snowings.com

[图6]  声音数据传输模块流程图

内容来自snowings.com

(四) 音频再生模块

内容来自snowings.com

经过处理过的语音数据通过音频处理模块传送到这个模块,当接收到语音数据以后它将经过录音的语音数据进行放音,然后把内存释放出来以备保存其他缓冲区里保存的声源信息。

paper51.com

为什么要释放内存呢?那是因为声音数据具有很强的前后相关性,数据量大、实时性强,又由于声音是连续的,通常把其称之为连续型时基媒体类型。当缓冲区接收到声源以后要是内存不够的话就不能及时把全部语音数据保存并传送,所以经过这个模块以后就得把录音内存释放掉,好让上一个模块及时得到完成。

copyright paper51.com

                             paper51.com

paper51.com

[图7]  音频再生模块流程图 内容来自snowings.com

    经过这个模块才能算是真正完成了语音聊天了,如果想结束聊天只要断开与对方的连接即可。 http://snowings.com

              paper51.com

第五章  关键代码分析 内容来自论文无忧网 snowings.com

     经过总体分析和详细分析,整个设计有了大概的框图之后就可以进行编程了。编程的质量直接影响到运行结果,所以要做到远程序代码的逻辑简明清晰、易读易懂是程序好坏的一个重要标准,其中适当的注解是非常重要的。 paper51.com

    本次设计的特点是一个用户端既是服务器端也是客户端,所以针对一个用户端作为服务器端或者作为客户端的时候的代码进行分析。

http://snowings.com

一、 服务器端对客户端Socket的处理代码

copyright paper51.com

  voidCChatDlg::ProcessPendingAccept() 内容来自snowings.com

  {

内容来自论文无忧网 snowings.com

      CclientSocket*pSocket=new CclientSocket(); paper51.com

      If(m_pListenSocket.Accept(*pSocket))

copyright paper51.com

      {

paper51.com

     copyright paper51.com

------分隔线----------------------------
联系方式