本文提供的api支持多个sp通过英斯克短信网关idap接入短。。。

上传人:子 文档编号:43532938 上传时间:2018-06-06 格式:DOC 页数:27 大小:76.50KB
返回 下载 相关 举报
本文提供的api支持多个sp通过英斯克短信网关idap接入短。。。_第1页
第1页 / 共27页
本文提供的api支持多个sp通过英斯克短信网关idap接入短。。。_第2页
第2页 / 共27页
本文提供的api支持多个sp通过英斯克短信网关idap接入短。。。_第3页
第3页 / 共27页
本文提供的api支持多个sp通过英斯克短信网关idap接入短。。。_第4页
第4页 / 共27页
本文提供的api支持多个sp通过英斯克短信网关idap接入短。。。_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《本文提供的api支持多个sp通过英斯克短信网关idap接入短。。。》由会员分享,可在线阅读,更多相关《本文提供的api支持多个sp通过英斯克短信网关idap接入短。。。(27页珍藏版)》请在金锄头文库上搜索。

1、本文提供的本文提供的 APIAPI 支持多个支持多个 SPSP 通过英斯克短信网关通过英斯克短信网关 iDAPiDAP 接入短。接入短。 。 。标题/Title: SGIP API(JAVA) For SP目录1API 文件说明 21.1类 SGIP_Command 说明21.1.1 构造函数 21.1.2 方法21.2类 Bind (该类由 SGIP_Command 类扩展而来) 31.2.1 构造函数 31.2.2 方法31.3类 Bind Resp(该类由 SGIP_Command 类扩展而来) 61.3.1 构造函数 61.3.2 方法61.4类 Unbind (该类由 SGIP_Co

2、mmand 类扩展而来)91.4.1 构造函数 91.4.2 方法91.5类 Unbind Resp(该类由 SGIP_Command 类扩展而来) 111.5.1 构造函数 111.5.2 方法111.6类 Submit(该类由 SGIP_Command 类扩展而来) 131.6.1 构造函数 131.6.2 方法151.7类 SubmitResp(该类由 SGIP_Command 类扩展而来)191.7.1 构造函数 191.7.2 方法191.8类 Report(该类由 SGIP_Command 类扩展而来) 211.8.1 构造函数 211.8.2 方法211.9ReportResp(

3、该类由 SGIP_Command 类扩展而来)231.9.1 构造函数 231.9.2 方法231.10类 Deliver(该类由 SGIP_Command 类扩展而来)241.10.1构造函数 241.10.2方法241.11类 DeliverResp(该类由 SGIP_Command 类扩展而来) 261.11.1构造函数 261.11.2方法261.12类 SGIP_Exception 272完整的示例程序:283附录:38概述本文提供的 API 支持多个 SP 通过英斯克短信网关 iDAP 接入短信中心,向终端用户发送短消息。SP 的应用程序需要遵循联通的SGIP1.1 协议,调用 i

4、DAP 的 API 实现短信发送和点播功能。作为ISMG 厂商,英斯克提供接入的 Java API,本文解释了 API 中 JAVA API 的用法。1 API 文件说明提供给 SP 使用的 API 包名称为 spApi.jar,它共包括以下类:SGIP_Command.class,Seq.class,MsgHead.class,Bind.class BindResp.class,Unbind.class,UnbindResp.classSubmit.class,SubmitResp.class,Deliver.class,DeliverResp.class,Report.class,Repo

5、rtResp.class,在使用此 API 前,请正确地将包设置到 CLASSPATH 环境变量中。1.1 类 SGIP_Command 说明1.1.1 构造函数1)public SGIP_Command()作用:构造函数,创建一个空的 SGIP_Command 对象1.1.2 方法2)public SGIP_Command read(InputStream in)作用: 接收任何来自网关的命令。参数: InputStream in 输入流异常: IOException3)public int getCommandID()作用: 获得读取的命令的代码返回值:命令代码4)示例:(具体示例见后面的

6、完整程序)/接收 sgip 的消息.Socket so=null;OutputStream out=null;InputStream input=null;so=new Socket(“192.168.0.30“,8801);out=new DataOutputStream(so.getOutputStream();input = new DataInputStream(so.getInputStream();SGIP_Command sgip=new SGIP_Command();/创建一个空的SGIP_Command 对象SGIP_Command tmpnull;.tmp=sgip.rea

7、d(input);/ 接收 sgip 的消息.if(sgip.getCommandID()=SGIP_Command.ID_SGIP_BIND_RESP)resp=(BindResp)tmp;/强制转换resp.readbody();/解包System.out.println(tmp.getSeqno_1();System.out.println(tmp.getSeqno_2();System.out.println(tmp.getSeqno_3();System.out.println(resp.GetResult();.1.2 类 Bind (该类由 SGIP_Command 类扩展而来)

8、1.2.1 构造函数1)public Bind(int NodeID)作用:构造函数参数:NodeID 节点编号,300000+CP_ID2) public Bind(int NodeID,int LoginType,String LoginName,String LoginPassword)作用:构造函数参数:NodeID, 节点编号LoginType, 登录类型。1:SP 向 SMG 建立的连接,用于发送命令2:SMG 向 SP 建立的连接,用于发送命令3:SMG 之间建立的连接,用于转发命令4:SMG 向 GNS 建立的连接,用于路由表的检索和维护5:GNS 向 SMG 建立的连接,用于

9、路由表的更新6:主备 GNS 之间建立的连接,用于主备路由表的一致性11:SP 与 SMG 以及 SMG 之间建立的测试连接,用于跟踪测试其它:保留LoginName, 服务器端给客户端分配的登录名LoginPassword, 服务器端和 Login Name 对应的密码1.2.2 方法3) public void SetLoginType(int LoginType)作用:设置 LoginType参数:int LoginType4) public void SetLoginName(String LoginName)作用:设置 LoginName参数:String LoginName5) p

10、ublic void SetLoginPassword(String Password)作用:设置 Password参数:String Password6) public int write(OutputStream out)作用:发送命令参数:OutputStream out,输出流7) public int readbody()作用:读取从 SMG 发送过来的 BIND 命令内容8) public int GetLoginType()作用:获取 SMG 的登录类型返回值:Int LoginType9) public String GetLoginName()作用:获取 SMG 的登录名返回

11、值:String LoginName10)public String GetLoginPassword()作用:获取 LoginPassword返回值:String LoginPassword11) public int getTotalLength()作用:返回 Bind 命令的总长度12) public int getCommandID()作用:返回 Bind 名令的总长度13)public int getSeqno_1()作用:返回 Bind 命令的序列号中前四个字节的整数,第一部分源节点编号,NodeID14) public int getSeqno_2()作用:返回 Bind 命令的

12、序列号中间四个字节的整数,第二部分时间(月日时分秒)15)public int getSeqno_3()作用:返回 Bind 命令的序列号后四个字节的整数, 第三部分序号16)示例:(具体例子见后面的完整程序)1. 发送 bind.Socket so=null;OutputStream out=null;InputStream input=null;so=new Socket(“192.168.0.30“,8801);out=new DataOutputStream(so.getOutputStream();input = new DataInputStream(so.getInputStre

13、am();Bind command=new Bind(399000,/nodeID 3+CP_ID1, /login type“zhao“,/login name“zhao“);/login password;.err=command.write(out);/ 发送 bindif(err!=0)System.out.println(“err“+err);.2. 发送 bind.Socket so=null;OutputStream out=null;InputStream input=null;so=new Socket(“192.168.0.30“,8801);out=new DataOut

14、putStream(so.getOutputStream();input = new DataInputStream(so.getInputStream();Bind command=new Bind(399000/nodeID 3+CP_ID);command.SetLoginType(1);command.SetLoginName(“zhao“);command.SetLoginPassword(“zhao“);.err=command.write(out);/ 发送 bindif(err!=0)System.out.println(“err“+err);.3. 接收 bind.Socke

15、t so=null;OutputStream out=null;InputStream input=null;so=new Socket(“192.168.0.30“,8801);out=new DataOutputStream(so.getOutputStream();input = new DataInputStream(so.getInputStream();SGIP_Command sgip=new SGIP_Command();/创建一个空的SGIP_Command 对象SGIP_Command tmpnull;Bind bindnull;.tmp=sgip.read(input);

16、/ 接收 sgip 的消息.if(sgip.getCommandID()=SGIP_Command.ID_SGIP_BIND)bind =(Bind)tmp;/强制转换bind.readbody();/解包System.out.println(tmp.getSeqno_1();System.out.println(tmp.getSeqno_2();System.out.println(tmp.getSeqno_3();System.out.println(bind.GetResult();.1.3 类 Bind Resp(该类由 SGIP_Command 类扩展而来)1.3.1 构造函数1)public BindResp(int NodeID)作用:构造函数参数:NodeID 节点标志,300000+CP_ID2) public BindResp(int NodeID,int Result)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号