pdu 就是协议数据单元,自已看gsm的sms协议,看SMS_SUBMIT的pdu的定义,然后用对应的AT指令发给手机。
取新的短信可以从手机或卡中读取信息就行了。
很久以前做过一个5110的程序,现在都记不太清了。

解决方案 »

  1.   

    发送短信息格式:
    AT+CMGF=0 (发中文的方式,=1时能直接发送英文字母)
    以下例子  发送到  13603021052(号码要重新编码3106031250F2两位两位一颠倒,‘F’为补位)
     报文是     你好
                译码为  
                044F60597D
                04 长度 
                数据 4f60597d   汉字内码(在VB中使用Unicode码)   
    at 命令
        AT+CMGS=019(发送的总长度)
        (回车)返回
    >
    发送
         0011000D91683106031250F2000801044F60597D 发送符
    以ctrl_c做为发送终止符,然后回车,完成发送.
      

  2.   

    “0011000D91683106031250F2000801044F60597D”究竟是怎么生成的?
    还没有弄清楚!
      

  3.   

    “0011000D91683106031250F2000801044F60597D”解释一下:
    0011000D9168 :是pdu的标志头(我这样说它)
    3106031250F2 :是对方的号码
    000801 :中80是发送中文的标志
    044F60597D :是发送内容,其中04是发送的长度,一个中文是两个长度
    每次发送的总长度为15(是固定的值)+(发送内容的长度)
    关于这个字串的生成是这样:
    MSComm1.Output = "AT+CMGF=0" & Chr(13)
    MSComm1.Output = "AT+CGMS=" & CStr(15 + strlen) & Chr(13)& "0011000D9168" & str_phone & "000801" & CStr(Hex$(strlen)) & sendmsg & Chr(26)
    就可以了 
    str_phone : 是手机号码
    strlen :是发送的长度
    sendmsg :是发送的内容(unicode码,VB可以自己转换,用strconv)
      

  4.   

    http://www.d1vb.com上万个VB朋友都注册了,50000条记录就是人气的象征!几千个代码和文章是你急需的。我是版主和站长,欢迎您的光顾!我们会尽最大努力帮助你。
      

  5.   

    可以看帮助,或者去微软的站看msdn,什么都有,要会用msdn,很好的东西,努力吧!
      

  6.   

    在vb60下用不到strconv函数,vb60下的字符串全是unicode编码
      

  7.   

    哦我现在已经解决了所有的技术问题,
    现在说说,如何在WEB上发送短信息的设计思路.
    切磋.切磋.切磋.见笑简单的说,需要的工作分为:
    1\做一个守护程序,在服务器上我们称为sms-service,他的任务从WEB服务器的一个特定的目录中定时检查,是否有数据文件生成.
    2\当发现有数据文件,就将他的内容读入内存进行处理并发送.我想1,2两步是你下面工作的基础.如果你这两步都没有实现的话,那么请继续来信询问.3\在ASP中做一个FILE-write操作的程序很容易吧,你可以将发送的内容按照一定的约定格式,生成一个数据文件,放到1步骤中的目录中.这样一来就实现了web-service 和sms-SERVICE的整合.现在明白了吧.
    发送内容/发送短信, 就是分这几个步骤,
    本人已经调试通过,效果就象SOHU .263 .SINA的一样,COOL
    基本思路就是以上提到的.当然你也可以使用数据库,  可能回慢一些. 效果一样的.关于SMS-SERVICE,或者根本觉得上述的说明对您没有帮助的话,
    迎继续来信[email protected]
      

  8.   

    rediron()的解释有误,AT+CMGF=0or1,1代表text方式发送,0代表pdu方式发送,现在很少手机支持text方式发送
    只需将TP-DCS设为08,然后将字符串的unicode码换为16进制字符发送就能成功,比如:
    dim s as string
    s="测试"
    s4 = Hex(AscW(Mid(s, i, 1)))
    s4就是你要发送的字符串!