【发布时间】:2011-08-25 14:43:37
【问题描述】:
我正在尝试使用来自华为 (E122-1) 的 USB-HSDPA 调制解调器创建文本消息/短信网关。 前段时间我用一个较旧的调制解调器做到了这一点。在安装驱动程序和接收新设备的正确 comPort 时遇到了一些麻烦,我终于建立了与设备的通信。
comPort Check 和 PIN-Check 已经完成。 现在我切换到文本模式 (CMGF) 并编写消息 (CMGS):
comPort.Write("AT+CMGF=1\r\n");
Thread.Sleep(1000);
comPort.Write("AT+CMGS=\"" + "some tel no" + "\"" + Environment.NewLine);
comPort.Write("文本内容" + (char)26 + Environment.NewLine);
Thread.Sleep(2000);
响应 = comPort.ReadExisting();
一切正常,我得到了适当的回应和一切。
但是,问题是:发送的短信无法在所有手机/智能手机上阅读:
- 我的旧诺基亚 6300 显示“不支持的消息类型”。
- HTC Desire 显示一条空消息。
- 三星 Galaxy S2 '内容不受支持'。
- 三星 Galaxy S 显示信息很好。
现在奇怪的是,如果我使用调制解调器附带的应用程序(t-mobile 奥地利互联网管理器)发送短信,所有列出的设备都可以正确显示。
我是否缺少编码或某种标头的内容? (“t-mobile 互联网管理器”显然用于在接收方正确显示短信)
有什么建议或想法吗?
谢谢, 大小
【问题讨论】:
-
你在某些地方使用 Environment.NewLine 而在其他地方使用 '\r\n' 我会从那里开始。您是否可以使用调制解调器附带的应用程序来窥探 wach 的发送?
-
哈哈,没错,有些代码是从同事那里复制的,我并没有真正关心语法。 afaik 返回/新行仅用于串行通信,就像在 shell 中按 enter 一样?目前我正在寻找合适的工具来嗅探调制解调器附带的应用程序的串行通信,但到目前为止还没有找到合适的工具。一旦我从那里得到一些记录的数据,我就会发布它!
标签: c# sms-gateway