关于超长短信

CMPP协议中,CMPP_SUBMIT_MESSAGE中有两个字段pk_total和pk_numer,恰看起来,这就是发送超长短信的设置参数,其实不然,这两个参数的设置,应该是没有用处。



发送超长短信,需要做两件事情:设置TP_udhi的值设置为1,在消息正文中增加协议头。协议后可以两种格式,分别是长度为6和长度为7的协议头。格式如下:

6位协议头格式:05 00 03 XX MM NN

byte 1: 05, 表示剩余协议头的长度

byte 2: 00, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为1(格式中的XX值)。

byte 3: 03, 这个值表示剩下短信标识的长度

byte 4: XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。

byte 5: MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。

byte 6: NN, 这批短信的数量。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。

例如:05 00 0339 02 01



7位的协议头格式:06 08 04 XX XX MM NN

byte 1: 06, 表示剩余协议头的长度

byte 2: 08, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为2(格式中的XX值)。

byte 3: 04, 这个值表示剩下短信标识的长度

byte4-5 : XX XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。

byte 6: MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。

byte 7: NN, 这批短信的数量。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。

例如:06 08 0400 39 02 01



7位协议头和6位协议头的区别是,6位协议头短信的标识字段是1个byte,而7位协议头短信的标志字段为2个byte。大多手机采用6位的协议头,也就是05 00 03 XX MM NN。



发送的短信这么处理,接受短信反过来就可以了。上述内容,在CMPP协议以及多款手机上经过测试验证。

转自bbs.sendsms.cn
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
listagg函数是一个非常有用的字符串拼接函数,在Oracle数据库中使用。根据引用的描述,listagg函数可以用来拼接超过4000个字符的超长字符串,并且可以自定义分隔符和排序字段。 在引用的原始SQL中,使用了listagg函数将region字段进行拼接,并以逗号作为分隔符。但是,由于数据量超过了4000个字符的限制,所以listagg函数在这里会产生错误。 为了解决这个问题,引用中的修改后SQL使用了xmlagg函数来替代listagg函数。xmlagg函数可以将字符串转换为XML类型,可以绕过4000个字符的限制。然后再使用xmlparse和xmlagg函数将XML类型的字符串转换回普通字符串,并在拼接的过程中指定了排序字段。这样就可以得到超长的拼接字符串了。 综上所述,listagg函数在处理超长字符串时会受到4000个字符的限制。如果需要拼接超过4000个字符的字符串,可以考虑使用xmlagg函数进行替代,并结合xmlparse和xmlagg函数来实现拼接和排序。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Oracle10g自定义聚合函数(字符串拼接)](https://download.csdn.net/download/music0312/9637482)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [listagg 字符串连接的结果过长问题解决](https://blog.csdn.net/sdzhangshulong/article/details/87249592)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值