毕业设计指导网:毕业设计范文、毕业答辩指导,免费毕业设计、计算机毕业论文参考资料下载服务。

技术团队主要成员为国内著名高校计算机专业导师。诚实守信,优质服务,是我们的宗旨!
当前位置:毕业设计指导网计算机毕业设计频道C++/VC设计

电话线拨号猫的数据通信程序

  • 设计环境:无数据库 + C++/VC设计
  • 论文字数:15604
  • 包含资料:开题报告+论文+源码+英文翻译+答辩ppt
  • 相关Tags:通信  
  • 难度系数:

电话线拨号猫的数据通信程序简介

        MODEM 已经成为远距离通信的一种重要工具。而 TAPI 编程接口除了支持简单的 MODEM 拨号和呼叫应答外,还可以支持不同种类的传输线路,例如 PSTN 电话网、 ISDN 和 ATM 线路等。另外 TAPI 还支持一些复杂的高级应用,如电话会议和语音邮件等。本文通过对 MODEM 远程数据通信和 TAPI 通信编程的研究,编程实现了一个计算机远程通信程序。

毕业设计思想与流程
使用TAPI开发的基本思路
        使用 TAPI 能够比较方便地发出一个呼叫和应答一个呼叫,它对呼叫的操作简单方便,给开发者带来了很大的方便。总的来说使用 TAPI 开发 MODEM 呼叫控制通信程序流程如下所示:
 (1) 初始化 TAPI :通过调用 linelnitialize ( )函数来完成。TAPI 通过调用这两个函数来加载 Tapi32 .dll 和有关的电话设备驱动程序,并且指定检测线路设备的状态和事件的回调函数。
(2) 协商 TAPI 版本:IineNegotiateAPIVersion ( )函数将找出对应于用户的应用程序及线路设备服务者通用的TAPI 的最高版本。
(3) 获取线路设备的性能:应用程序通过调用lineGetDevCaps ( )函数来确定所使用的 TAPI 版本提供的线路设备能力。
(4) 打开线路设备:应用程序调用 lineOpen( ) 函数打开一条线路设备并返回一个线路设备的句柄,这个句柄用于完成以后对这个设备的各种操作。
(5) 转换电话号码:使用 lineTranslateAddress ( )将要拨打的号码转换成可以直接在计算机上拨打的号码格式。
(6) 开始呼叫或是应答:应用程序调用 lineMakeCall ( )函数进行呼叫,调用完成后它将返回带有拥有者特权的呼叫句柄,此句柄可用在对该次呼叫所进行的进一步操作。应用程序通过调用 lineAnswer( )函数来自动应答呼叫。
(7) 挂断呼叫:在呼叫完成后, lineDrop ( )函数将用来挂断呼叫,但是在上一步中得到的拥有者的呼叫句柄并不会因此释放,因为在呼叫被挂断以后,呼叫的句柄还有可能被用在一些后续的操作中。可以通过 lineDeallocate ( )来释放呼叫句柄。
(8) 关闭线路设备:应用程序调用 lineClose ( ) 函数来关闭被 lineOpen ( )函数打开的线路设备,如果一条线路被应用程序打开后始终没有被关闭,那么其它的应用程序将无法访问该线路。
(9) 结束TAPI 的使用:在一切有关TAPI的操作完成之后,调用lineShutdown()函数来终止TAPI的使用,它会隐含地关闭所以打开的线路设备。

 各功能模块的设计
 TAPI的配置阶段
      TAPI 的置阶段配置阶段包括对线路的配置和对 MODEM 的配置,只有正确地配置并打开线路设备之后,才能对 MODEM 进行配置。以下函数完成对 TAPI 的配置:
       TAPI 类成员函数 telephonylnitialize 分配支持逻辑线路设备的使用所必须的某些内部资源,并返回应用程序一个TAPI句柄,同时传递了一个回调函数的地址作为参数,此函数处理对整个线路状态进行处理。然后使用TAPI的类成员函数lineNegotiateAPIVersion与Windows协商TAPI版本。TAPI 类成员函数 mylineGetDevCaps 获得有关逻辑线路的性能的信息Windows把这些信息填充到一个名为 LINEDEVCAPS 的只读结构中,应用程序检查这个结构就可以了解哪些设置是驱动程序所允许的TAPI 类成员函数lineOpen打开线路。
 TAPI的连接阶段
          TPAI在连接阶段MODEN会产生很多消息,消息的处理 TAPI由回调函数进行消息处理,回调函数在初始化TAPI时创建,消息的处理在TAPI的使用过程中是至关重要的。以下是一些主要的消息
(1)LINECALLSTATE_IDLE 没有呼叫,为空,此时应断接,释放掉占用的资源;
(2)LINECALLSTATE_DIALING 拨号中,正在拨号。
(3)LINECALLSTATE_BUSY 线路忙或设备忙,此时应断接,释放掉占用的资源。
(4)LINECALLSTATE_SPECIALINFO 特别的消息,此时应断接,释放掉占用的资源;
(5)LINECALLSTATE_OFFERING 应答方已收到呼叫方信号,此时应进行应答,调用lineAnswer函数;
(6)LINECALLSTATE_CONNECTED 已连接成功,此时可进行数据的传输,但必须先得到MODEM的句柄
(7)LINECALLSTATE_DISCONNECTED 已断接,此时应释放掉占用的资源。
TAPI类成员函数MakeCall被用于发起呼叫,产生呼叫后依次进入图4状态:
         新生成的呼叫处于IDLE状态,随后依次进入PROCEDING,OFFERING, CONNECTED和DISCONNECTED最后 回到IDLE状态。这些状态都通过在调telephonylnitialize函数初始化TAPIDLL的时候传递的回调函数来处理。
 

计算机毕业设计说明

本论文出自毕业设计指导网http://www.bysj120.cn,为保证客户隐私本站的成品计算机毕业设计一律不在网站上刊登任何程序截图、毕业论文目录摘要等。如需详细了解设计具体内容请联系本站在线客服索取的程序运行演示、毕业论文介绍。网站上展示的只是部分成品设计,如找不到您需要的毕业设计请联系在线客服查询。
·上一毕业设计:LED显示屏仿真设计
·下一毕业设计:Linux的远程管理系统服务器端的实现

在线客服

  • 咨询QQ:
  • 407894958
  • 点击和客服QQ在线沟通
  • 点击和客服QQ在线沟通
  • 成品购买:
  • 定制咨询:
  • 点击和客服QQ在线沟通
  • 点击和客服QQ在线沟通
  • 如临时会话消息无法接收 请先加客服QQ好友咨询
    微信客服

计算机毕业设计,免费毕业论文,优秀毕业设计论文下载


120毕业设计指导网
地址:徐州市西安路41号
收缩
  • 计算机毕业设计定做咨询