短消息业务(SMS-Short Message Service)的实现原理很简单,但用户在手机上输入文字的过程却比较麻烦。SMS有两大突出优点: 第一是存储转发机制。SMS传送数据包的工作由移动网络中的短消息中心而不是终端用户来完成,如果用户不在服务区内,短消息就被存储在短消息中心,等用户出现之后再转发给他,这是GPRS等业务所不具备的。 第二是传递确认机制。在电路交换数据环境中,连接是端到端的,所以用户能够知道连接是否完成,以及数据传递的情况,但在GPRS环境中,附属于GPRS承载体的终端是“永远在线”的,它在任何时候都准备透明地(相对于用户而言)传送或接收数据,这样一来,检查数据包是否发送成功的任务就落到了用户头上,对于每一次分组数据业务,其相应的成本也会比SMS高。

  

发送短信群发验证码的原理:

  

本文以注册为例,在SpringMVC+Spring+Mybatis框架的基础上完成该短信群发验证码功能。

  

发送短信群发验证码的原理是:随机生成一个6位数字,将该6位数字保存到session当中,客户端通过sessionid判断对应的session,用户输入的验证码再与session记录的验证码进行比较。

  

一般的第三方短信平台都会有他们自己的短信接口,只要读懂他们的接口稍作稍作改变就能满足自己的需求。

  

首先将短信平台接口代码列出:这里要下载三个jar包commons-logging-1.1.1.jar,commons-httpclient-3.1.jar,commons-codec-1.4.jar

  

不难看出,我们想要发送的信息是在这行代码里面:NameValuePair[] data ={ new NameValuePair("Uid", "本站用户名"),new NameValuePair("Key", "接口安全秘钥"),new NameValuePair("smsMob","手机号码"),new NameValuePair("smsText","验证码:8888")};

  

该接口中还有一个result信息,它的作用是告诉用户短信发送的状态,1表示发送成功,其他的小于0的为失败,这里只要知道1是成功即可。到此发送成功。