【问题标题】:Using SerialPort class for modem to modem communication使用 SerialPort 类进行调制解调器到调制解调器的通信
【发布时间】:2011-07-28 15:09:38
【问题描述】:

我正在重写一个通过 TAP 和调制解调器发送寻呼机消息的旧版应用程序。所以我不得不用 C# 编写一个新的 TAP 客户端。使用 SerialPort 很简单,但我不确定如何处理以下情况:

  • 响铃过多而无人接听
  • 没有拨号音
  • 忙信号检测(我知道并非每个调制解调器都启用此功能,因此这是可选的)
  • 远程调制解调器应答

那么我如何以同步方式读取接收到的数据? TAP 是同步的,所以我将发出命令,然后期待来自远程机器的某种类型的响应。我认为我最大的问题是弄清楚数据将如何被终止。调制解调器数据由 CR 或 CR-LF 终止是标准吗?

一些指针会很棒,我可以自己阅读的任何参考资料也很棒。

【问题讨论】:

  • TAP 是定位器字母数字协议。这不是 TAPI。
  • 你有遗留应用程序的源代码吗?使用了哪种语言?全部由代码或任何您不能再使用的黑盒第三方组件完成?

标签: c# modem


【解决方案1】:

这是关于串行通信或 TAP 的问题吗?我从未使用过 TAP,但我不得不使用串行通信硬件(尽管是几年前的事了。)

我刚刚找到this PDF specification 文档,并搜索了“终端”。它会在该系列文本中显示 8 个不同的词,其中 7 个似乎与您的请求有关。

我不确定您在串行通信或传统通信系统和硬件方面有多少经验,但您可能会发现超级终端非常有用,它是 Windows 的一部分。还有其他串行/终端软件,但 HyperTerm 是免费且易于使用的。

您可以使用 HyperTerm 向您的设备发送和接收代码,并检查发送/接收的数据。然后,您可以使用通信转储对 TAP 通信进行逆向工程。

-- 编辑--

关于与调制解调器的交互,我会研究一下 Hayes 命令集。 Hayes 是一家在 80 年代初期制造调制解调器的公司。根据我所读到的,他们的调制解调器命令从那时起就变得非常标准。浏览一下可用的调制解调器命令,我认为您的问题有一个解决方案,但您可能需要做一些实验。

说实话,我从来没有直接使用调制解调器硬件,所以我提供的信息是基于我今天下午发现的研究。如果我在你的鞋子里,这些技巧是我会假设和尝试的。更多信息,谷歌“Hayes 命令集”或check this article

希望对您有所帮助。

【讨论】:

  • 更多的是关于串行通信,因为我有一个协议的副本。这确实有助于解决我的部分问题,我很感激你的回答。您对我需要的拨号/连接状态帮助有什么建议或参考吗?我可以通过超时来简化很多事情,但如果调制解调器之间发生握手,我不想挂断。
猜你喜欢
  • 1970-01-01
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 2011-03-30
  • 2013-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多