我用的GPRS模块每次发送的数据包最长只有1024字节,所以在POST MMS时,需要分几次发送。MMS文件再加上WSP,WTP头是超过1024字节的,所以我先发送第一个1024字节,但是我还没来得及发送第2个1024字节,WAP网关已经返回了m-send.cnf了,终端收到的MMS也由于文件不完整没法显示。
这个问题该怎么解决啊?请教各位高人
我想是不是有两个办法:
1 用WTP协议的分割调用PDU来发送MMS文件,但是不知道怎么编码。每个分组的WTP和WSP头是不是都一样(除了分组序列号和最后一个分组的GTR,TTR位),然后把.mms文件一部分一部分作为POST PDU DATA发送?有分组的WTP和WSP头的例子吗???
2 在POST PDU的HEADERS字段中规定DATA字段的长度。比如我发送的.mms文件长852字节,所以在HEADER部分我写了03 8D 86 0C,规定长度为852,然后先发了850字节,但还没来得及发最后2个字节,就收到了m-send.cnf,终端也收到了前850字节不完整的MMS。该怎么办呢
毕业设计临近结束,急啊~~~请大家不吝赐教!!!
QQ:102078525
MSN:charles_happysunny@yahoo.com
我试了用WTP分割调用来发送,但是还是有问题
第一个包,设为分组群最后一个分组
08 00 01 12 60...WSP POST的DATA部分我先发了部分.mms文件内容
收到回复:98 80 01 19 00,说明第一个分组群已经收到且可以理解
第二个包,设为消息的最后一个分组
2a 00 01 01 12 60...WSP POST的DATA部分试剩下的.mms文件内容,其他POST头照抄
收到回复:98 80 01 19 01,说明第二个分组已经收到且可以理解
接着就收到了m-send.cnf的内容,需要我最后确认。
但最后手机收到的MMS还是不完整的,说明GW组装消息没有成功???怎么办...
还是帮你顶,另外你程序用什么写的能说一下不?介意给我发一份吗?
我还没具体写过代码,只是改串口调试助手。打算发成功了再写~
哦,你是通过串口调试助手发呀?那你看得资料能给我发一份不?我最近也开始做呢^_^
qianyong325@gmail.com 我的邮箱
经过挣扎,前几天终于发通了,这几天开始写代码,要来不及啦~~~
自问自答:
我最后采用的还是预想的方法一,用WTP分割调用发送
没有成功原因是,除了第一个调用POST PDU外,后面的分组的WSP是不需要的,只需要WTP头后直接跟接下来要发的数据。