代码改变世界

WaveCom 短信猫C#开发,有问题的进来讨论下----(先占个位子)

2009-08-31 17:23  kwjlk  阅读(1970)  评论(5编辑  收藏  举报

悲剧了那,呵呵。这边http://www.cnblogs.com/engin/archive/2010/11/23/1885907.html有个具体的,我这个就当自己做过写点感触了。

最近在开发应用级的短信发送东东。不说别的了,下面就是咱的家伙:

     短信猫为:USB wavecom Q2406A的GSM(据说GSM的只能发短信,Gprs的能发短信也猛发彩信)短信猫。

按照卖家给的说明书和网上搜集来的资料,在自己的百般(也许没这么多)下终于发出了第一条短信:

     第一条短信是利用微软的超级终端(在开始->程序->附件->通讯里面的)连接短信猫,然后使用at指令进行的短信文本格式发送。

at命令:

        atz 初始化短信猫

        at + cmgf=1  选择文本格式发送短信,注意,文本格式下发送短信只能发送abcd的字母。

        at + cmgs=13469273621  接收短信的人的号码,

       >    输入字母内容,输入后不要回车 直接按住Ctrl + Z组合键 就可以发送了

--------------------------------------------------------------------------------------------------------------------------------------

   但是,真正的应用去需要发送中文。而且还遇到了长、短短信的问题。即汉字输入下的七十个字符算作一条短信。七十个字以内的短信可以做一条发送,

接收者看到的也是一条短信。如果,字符量超过了七十个那就要自己分条发送了。但这是就出现了一个最优的要求:分条可以,但是我总得可以让接收者

当作一条看吧。不用看完一条再看一条,有时候还会因为断章取义出现误会。这时候,我只找到了一种答案:使用PDU编码发送短信。

    一、发送短短信。

相关文章链接:

                有点儿关于超级终端使用的东西

                 http://www.ccidcom.com/blog/?uid-11541-action-viewspace-itemid-52809

                讲解PDU编码协议的

                 http://blog.21ic.com/user1/4641/archives/2008/45476.html

超级终端在这里





点确定后


选择你的短信猫使用的端口

点还原为默认后


确定后就可以使用了



使用PDU编码发送长短短信

      短信猫的操作命令为 
            AT + CMGF=0
            AT+CMGS=发送内容长度
            >内容Ctrl+Z发送

        将一条短信所有内容进行PDU编码的代码如下:

Code


用C#中的SerialPort 进行COM端口操作


Code



 第一次写出来时 短信猫发送短信的时间间隔竟然是二十秒左右,不然会出现部分文字丢失的情况。老板相当不能容忍,于是又翻回来左看右看
终于发现点还算有价值的东西,现在写在这里为大家参考。
      第一,使用PDU编码发送短信 正常长度为151
                  为什么说是正常长度? 这个正常长度指的是出去在短信PDU通信协议中的其他固定成分外的用户内容的大小。注意:太大的长度则会产生
                   较长的发送时间。
      第二、我得出的短信发送时间间隔值
                  PDU编码长度为17或21(短短信一个字,长短信一个字)的发送时间间隔为5秒
                  长度为151的发送时间间隔为 8.5秒

所以,上面的代码还是要进行修改的