大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
最近公司派任务,让完成cmpp20协议的ps模块。这里总结下期间遇到的问题。
1、cmpp20的协议里没有report实体,其实report是和deliver在一起的。deliver里有一个字段Registered_Delivery,0代表deliver,1代表report。同时,当deliver代表report时,MessageContent里面是msgid、Stat、Submit_time、Done_time、Dest_terminal_Id、SMSC_sequence的组合。当客户端发送下行短信时,运营商返回的report到达客户端后,返回的是deliver。这个时候需要根据里面字段判断到底是report还是deliver。
说下正常的deliver到底是什么。其实deliver代表的是上行,就是手机客户端给sp客户端发送的短信。
(1)sp客户端——>ISMG(ps模块)——>ISMG(mts模块)——>运营商——>手机
(2)手机——>运营商——>ISMG(mts模块)——>ISMG(ps模块)——>sp客户端
其中,(1)过程是下行(submit),(2)过程时上行(deliver)。在当前项目里,sp客户端<——>ISMG(ps模块)和ISMG(mts模块)<——>运营商之间的联系是通过socket连接的,ISMG的ps模块和mts模块是通过redis存取连接的。
2、虽然cmpp2.0协议文档里submit也好,deliver也好那么多字段,其实不需要都填充上的。关键是msgid,你ps模块返给sp的msgid要和运营商report里返回的msgid要一致,否则匹配不上。还有submit_resp的sequenceid要和submit里的sequenceid一致,否则匹配不到。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/215439.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...