对于刚接触短信的人,对短信协议(cmpp、smpp、sgip、smgp)可能有点懵逼,编码、解码、心跳检测、长短信拆分、回执、上行等不知道如何处理,看cmpp协议文档几十页也不知道怎么下手。

我刚开始接触短信也是这种感觉,心里想的是我通过http把手机号和短信内容给你,你帮我把短信下发不就行了么。为了解决这个问题,我开源了一个cmpp协议转http协议的项目,方便刚接触短信的朋友,快速上手发送短信。

项目地址:https://gitee.com/troubleshooting/cmpp-to-http

项目简介

该项目将常用短信协议CMPP、SGIP、SMGP、SMPP进行封装,提供http接口发送短信,使刚接触短信的用户,只需要简单配置通道,即可快速发送短信。

项目技术栈

Spring Boot + Mysql + Redis + Netty 4.x + Hutool 5.x + Mybatis-plus 3.x + Guava + Caffeine 等

项目使用

1. 前提:本地安装了mysql 5.x和redis

2. 数据库初始化:执行resource/sql下的sms.sql文件创建数据库和表

3. 账号密码修改:修改application.yml中Mysql和Redis的验证信息

4. 初始化通道:在sms_channel表中添加通道,主要字段说明如下:

  • channel_ip: 通道方提供的通道ip地址
  • port: 通道方提供的通道端口号(cmpp默认为7890,通道方也可能换成其他端口号)
  • login_name: 通道登录用户名
  • password: 通道登录用户密码
  • src_id: 接入号,一般以106***开头
  • msg_src: 企业代码,对应submit的msg_src, 大部分通道提供的sp_id与username是一致的,也有的通道方不提供企业代码,不提供企业代码时与username填一样的即可
  • speed: 单个连接的速度
  • max_connect: 当前通道最大连接数

5. 启动项目,调用SmsController下/sms/sendMsg接口发送短信

开源一个cmpp协议转http协议项目相关推荐

  1. 开源一个安信可A9g小项目微信小程序定位器项目②GPS模块如何定位经纬度并且上报到MQTT服务器,实现远程查看模块的经纬度;

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 如何在windows10上环境搭建,编译烧录代码固件,查看运行 ...

  2. 【微信小程序控制硬件③】 从软件到硬件搭建一个微信小程序控制esp8266的项目,自定义通讯协议,为面试职位和比赛项目加分!

    微信物联网生态主要分在微信硬件开发平台与腾讯物联开发平台,前者已经停止维护,但依然有着很大的学习价值,而后者作为主推的平台,集成很多功能,包括从微信小程序实现配网到控制: 为了兼顾更多的朋友和自己的学 ...

  3. DIY一款多快充协议太阳能充电器!----项目起源

    有没有遇到过在外旅行期间手机没电,相机没电,蓝牙耳机没电的窘境.即使在出行前准备好了充电宝,但有时依然满足不了手机的"吃"电速度.这时为何不考虑下购买一款太阳能充电宝,时常听到这样 ...

  4. 【微信小程序控制硬件⑦ 进阶篇】动起来做一个微信小程序Mqtt协议控制智能硬件的框架,为心里全栈工程师梦想浇水。

    文章目录 一.前言: 二.涉及的技术点: 三.框架的运行原理: 四.框架代码流程: 4.1 主线程: 4.2 获取设备列表显示设备,以及订阅在线的设备: 4.3 点击某设备如何实现携带此设备信息到控制 ...

  5. tcp option 结构体_基于 Kotlin 实现一个简单的 TCP 自定义协议

    一. 开发背景 想要成为一名优秀的Android开发,你需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~. 我们的项目需要开发一款智能硬件.它由 Web 后台发送指令到一款桌面端应用 ...

  6. 开源一个电子胸牌项目,很棒!

    摘要:关注RT-Thread的同学肯定知道,RT-Thread为了向众多开发者展示RT-Thread的最新开发和生态建设成果,每年都会举办一场开发者大会(简称:RDC),在2020年度的开发者大会上, ...

  7. 从头开始做一个智能家居设备:MQTT协议及使用

    前言 搞智能家居就不得不说到网络通信,因为我们需要通过各种终端去控制我们的智能家居设备,所以网络通信这方面是必备的.而在市面上比较流行的网络通讯协议就是MQTT通信协议.今天我们就简单聊聊如何什么叫M ...

  8. 基于MySQL协议的数据库中间层项目 Qihoo360 / Atlas

    一.简介 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了 ...

  9. 基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器——《干饭聊天室》

    基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器--<干饭聊天室> 在这里首先感谢前端小伙伴飞鸟 前端技术请看一款基于React.C++,使用TCP/HTTP协 ...

  10. 由于在客户端检测到一个协议错误_TLS协议的分析

    TLS概述 TLS(传输层安全性)协议基于SSL(安全套接字层)协议,该协议最初由Netscape开发,用于增强Internet上的电子商务安全性.SSL是在应用程序级实现的,直接位于TCP(传输控制 ...

最新文章

  1. We PE U盘安装win7系统
  2. python把矩阵存为文件_python 读取文件并把矩阵转成numpy的两种方法
  3. CentOS安装网络代理软件
  4. 第九届蓝桥杯java B组—第二题方格计数(详细介绍)
  5. 【放置奇兵】天六水晶和心三水晶(宝石、心灵水晶)
  6. loot recycler_loot++ - MC百科搜索 - MC百科|最大的Minecraft中文MOD百科
  7. 基于Jupyter Notebook---卷积神经网络的图像分类(keras对猫狗图像数据集进行分类)
  8. 当调用wcf, 小心返回值包含enum越界的错误。
  9. 【短视频音乐解析源码】在线解析抖音短视频音乐BGM源码+解析后自动播放mp3
  10. 微信新功能,最牛的不是“斗图”!
  11. Action、Category、Data、Extras知识详解
  12. 叛逆连队2怎么自建服务器,《战地:叛逆连队2》目前暂不支持第三方服务器
  13. 【转】CAN总线与CANOPEN协议入门
  14. 费雪分离定理的证明与评价
  15. js获取一段时间内工作日的天数
  16. mysql中的case when 与if else
  17. 机器视觉(Machine Vision)
  18. Vue的Watch事件-如何监听对象的属性(字段中间带有点)
  19. java 序列化 uid_一文看懂Java序列化之serialVersionUID
  20. 模电数电之你有我也有

热门文章

  1. 软件观念革命:交互设计精髓_“被催债”的设计推荐书单
  2. 关于网络知识(网络运作方式)的常识
  3. 生成二维码,批量导出带格式的execl
  4. linux comd skill
  5. javascript 分割字符串
  6. SQL SERVER 2012/2014 序列号密钥
  7. kali linux查看局域网下所有IP,并对指定IP实施局域网内攻击
  8. (转)iOS 集成支付宝、微信、银联支付 (2017)
  9. 计算机232接口接线图,串口线(232接口详细接线图)
  10. Android主板串口线接法,9针rs232串口接线图以及接线方法