该项目主页在https://code.google.com/archive/p/smgp/,可以使用VPN进去看看,该项目是开源的,根据SMGP3.0协议写的API,我们要用的话直接调用就好了,这里主要是讲下SMGP3.0的大概请求过程及API原理。

发送短信之前有个login操作,主要是验证客户端是否合法,注册成功之后即可与服务器进行收发短信,login请求也有个响应。一旦建立连接即把消息放入submit中,然后会有个消息长度判断,超过70字会进行拆分。

int msgCount = (int) (content.length / (140 - 6) + 1);//长短信拆分成多条发送,长短信是指超过70个汉字140个字节,减去6是因为每条分割的短信需要添加6位的协议头

  

由于采用的是短链接的方式,SP发送短信结束后会发送exit包,拆除链接,短信二级网关会响应一个响应拆除包,然后正式断开链接,SP以接收者和收发者的身份登录,短信网关可以不等待上一个短信响应包,就发送下一个短信。由于短信网关和SP之间也是采用短连接方式,在一定时间内不转发消息包则短信网关给SP发exit包,SP响应拆除链接。

转载于:https://www.cnblogs.com/JAYIT/p/5275148.html

SMGP3.0协议的概念知识相关推荐

  1. OAuth2.0协议入门(一):OAuth2.0协议的基本概念以及使用授权码模式(authorization code)实现百度账号登录

    一 OAuth2.0协议的基本概念 (1)OAuth2.0协议 OAuth协议,是一种授权协议,不涉及具体的代码,只是表示一种约定的流程和规范.OAuth协议一般用于用户决定是否把自己在某个服务商上面 ...

  2. AISG2.0 协议(一)——基础概念

    1. AISG是什么 AISG协议,全称Antenna Interface Standards Group(电调天线设备标准组织),官方网站www.aisg.org.uk. 由于电调天线系统不同厂家的 ...

  3. java 协议这个概念_java网络协议概念是什么?

    网络协议 对于需要从事网络编程的程序员来说,网络协议是一个需要深刻理解的概念.那么什么是网络协议呢? 网络协议是指对于网络中传输的数据格式的规定.对于网络编程初学者来说,没有必要深入了解TCP/IP协 ...

  4. 轻松认识HTTP协议的概念和工作原理

    轻松认识HTTP协议的概念和工作原理 当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,例如:www.microsoft.com,但是在浏览器的地址栏里面出现的却是:http: ...

  5. 计算机网络的体系结构与协议基本概念,计算机网络技术基础-第3章网络体系结构与协议.ppt...

    <计算机网络技术基础-第3章网络体系结构与协议.ppt>由会员分享,可在线阅读,更多相关<计算机网络技术基础-第3章网络体系结构与协议.ppt(19页珍藏版)>请在装配图网上搜 ...

  6. java 微信api框架_Java架构学习(五十二)使用框架开发微信微信框架介绍整合微信开发框架WxJava使用微信返回消息模板接口使用WxJava框架发送模板消息http协议参数转义知识...

    一.微信框架介绍 1.access_token是公众号的全局唯一调用接口的凭证,它两个小时更新一次. 获取access_token方法: https请求方式: GET https://api.weix ...

  7. oauth2.0协议流程_正确的工作流程:我应该使用哪个OAuth 2.0流程?

    oauth2.0协议流程 什么是OAuth 2.0 OAuth 2.0是一个已被广泛采用的委托授权框架,已经存在了很多年,并且似乎已经存在. 如果您不熟悉OAuth 2.0的基本概念,可以使用 川崎孝 ...

  8. 深入理解OAuth2.0协议

    1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...

  9. 最近在学OAuth2.0协议,给大家分享一下

    1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...

最新文章

  1. java虚拟机-JDK8-废弃永久代(PermGen)迎来元空间(Metaspace)
  2. 洛谷P1330 封锁阳光大学
  3. 【机器学习】深度盘点:详细介绍 Python 中的 7 种交叉验证方法!
  4. Python简单前序创建二叉树及二叉树的遍历
  5. wasm-simd入门(卷积指令)
  6. run()方法和start()方法测试解析
  7. 上市之后,青云存储平台QingStor也要“进军”云原生
  8. 中医与佛教共同推出的养生秘诀 100 条
  9. npm install Saving to file: /root/.jenkins/workspace/ems-web/node_modules/chromedriver/2
  10. laravel的foreach
  11. 《瓦尔登湖》 感想及笔记
  12. hibernate4中主要的配置文件配置
  13. iptables的连接追踪机制和nf_conntrack调优
  14. Android源码中常用的系统广播
  15. 初级程序员面试不靠谱指南(四)
  16. 2017 年 10月ios 面试题 总结
  17. 今天忙着画一个用例图,发现一个好用的工具
  18. 数据分析之帕累托(贡献度)分析
  19. amoeba mysql mmm_MMM+Amoeba搭建MySQL高可用负载均衡群集
  20. 反脆弱:为什么有些人更能适应工作的剧烈变化?

热门文章

  1. 大数据学习(1)Hadoop安装
  2. nodemailer实现node发送邮件
  3. 敏捷个人手机应用:如何使用时中法习惯
  4. (原创)惠州市惠阳区房价偏低的原因深入分析
  5. JavaScript实现浏览器菜单的一些功能
  6. tab in English
  7. topics in innovation management
  8. 创业要拿出独门秘籍才行
  9. LUA upvalue使用陷阱一例
  10. Android ViewModel+liveData+lifecycle+databinding打造MVVM