`

用Spring,smppapi,mina, commons ssl快速实现安全的smp(4)

    博客分类:
  • MINA
阅读更多

对 SMPPPacket的业务处理代码:

1.处理 BIND_RECEIVER消息

 

  1. package com.lizongbo.smpp.server.handlers;   
  2. import org.apache.mina.common.*;   
  3. import com.lizongbo.smpp.server.*;   
  4. import ie.omk.smpp.*;   
  5. import ie.omk.smpp.message.*;   
  6. import ie.omk.smpp.message.tlv.*;   
  7. import ie.omk.smpp.util.*;   
  8. import ie.omk.smpp.version.*;   
  9. /**  
  10. *  
  11. * <p>Title: BindReceiver Handler</p>  
  12. *  
  13. * <p>Description: smpp BIND_RECEIVER</p>  
  14. *  
  15. * <p>Copyright: Copyright (c) 2007</p>  
  16. *  
  17. * <p>Company: http://618119.com </p>  
  18. *  
  19. * @author lizongbo  
  20. * @version 1.0  
  21. */  
  22. public class BindReceiverHandler   
  23. implements SMPPPacketHandler {   
  24. public void process(IoSession session, SMPPPacket packet) throws  
  25. BadCommandIDException {   
  26. BindReceiver msg = (BindReceiver) packet;   
  27. System.out.println(”sysId=” + msg.getSystemId());   
  28. System.out.println(”password=” + msg.getPassword());   
  29. //在这里判断账号和密码是否正确   
  30. System.out.println(”sysType=” + msg.getSystemType());   
  31. System.out.println(”interfaceVer=” + msg.getInterfaceVersion());   
  32. System.out.println(”addrTon=” + msg.getAddressTon());   
  33. System.out.println(”addrNpi=” + msg.getAddressNpi());   
  34. System.out.println(”addressRange=” + msg.getAddressRange());   
  35. BindReceiverResp res = (BindReceiverResp) PacketFactory.   
  36. newInstance(SMPPPacket.BIND_RECEIVER_RESP);   
  37. res.setCommandStatus(0);   
  38. res.setSequenceNum(packet.getSequenceNum());   
  39. res.setSystemId(”smsc.618119.com”);   
  40. res.setOptionalParameter(Tag.SC_INTERFACE_VERSION,   
  41. SMPPVersion.getDefaultVersion().getVersionID());   
  42. session.write(res);   
  43. }   
  44. }  
package com.lizongbo.smpp.server.handlers;
import org.apache.mina.common.*;
import com.lizongbo.smpp.server.*;
import ie.omk.smpp.*;
import ie.omk.smpp.message.*;
import ie.omk.smpp.message.tlv.*;
import ie.omk.smpp.util.*;
import ie.omk.smpp.version.*;
/**
*
* <p>Title: BindReceiver Handler</p>
*
* <p>Description: smpp BIND_RECEIVER</p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: http://618119.com </p>
*
* @author lizongbo
* @version 1.0
*/
public class BindReceiverHandler
implements SMPPPacketHandler {
public void process(IoSession session, SMPPPacket packet) throws
BadCommandIDException {
BindReceiver msg = (BindReceiver) packet;
System.out.println(”sysId=” + msg.getSystemId());
System.out.println(”password=” + msg.getPassword());
//在这里判断账号和密码是否正确
System.out.println(”sysType=” + msg.getSystemType());
System.out.println(”interfaceVer=” + msg.getInterfaceVersion());
System.out.println(”addrTon=” + msg.getAddressTon());
System.out.println(”addrNpi=” + msg.getAddressNpi());
System.out.println(”addressRange=” + msg.getAddressRange());
BindReceiverResp res = (BindReceiverResp) PacketFactory.
newInstance(SMPPPacket.BIND_RECEIVER_RESP);
res.setCommandStatus(0);
res.setSequenceNum(packet.getSequenceNum());
res.setSystemId(”smsc.618119.com”);
res.setOptionalParameter(Tag.SC_INTERFACE_VERSION,
SMPPVersion.getDefaultVersion().getVersionID());
session.write(res);
}
}

 

2.处理BIND_TRANSMITTER消息

 

  1. package com.lizongbo.smpp.server.handlers;   
  2. import org.apache.mina.common.*;   
  3. import com.lizongbo.smpp.server.*;   
  4. import ie.omk.smpp.*;   
  5. import ie.omk.smpp.message.*;   
  6. import ie.omk.smpp.message.tlv.*;   
  7. import ie.omk.smpp.util.*;   
  8. import ie.omk.smpp.version.*;   
  9. /**  
  10. *  
  11. * <p>Title: BindTransmitter Handler</p>  
  12. *  
  13. * <p>Description: smpp BIND_TRANSMITTER</p>  
  14. *  
  15. * <p>Copyright: Copyright (c) 2007</p>  
  16. *  
  17. * <p>Company: http://618119.com </p>  
  18. *  
  19. * @author lizongbo  
  20. * @version 1.0  
  21. */  
  22. public class BindTransmitterHandler   
  23. implements SMPPPacketHandler {   
  24. public void process(IoSession session, SMPPPacket packet) throws  
  25. BadCommandIDException {   
  26. BindTransmitter msg = (BindTransmitter) packet;   
  27. System.out.println(”sysId=” + msg.getSystemId());   
  28. System.out.println(”password=” + msg.getPassword());   
  29. System.out.println(”sysType=” + msg.getSystemType());   
  30. System.out.println(”interfaceVer=” + msg.getInterfaceVersion());   
  31. System.out.println(”addrTon=” + msg.getAddressTon());   
  32. System.out.println(”addrNpi=” + msg.getAddressNpi());   
  33. System.out.println(”addressRange=” + msg.getAddressRange());   
  34. BindTransmitterResp res = (BindTransmitterResp) PacketFactory.   
  35. newInstance(SMPPPacket.BIND_TRANSMITTER_RESP);   
  36. res.setCommandStatus(msg.getCommandStatus());   
  37. res.setSequenceNum(packet.getSequenceNum());   
  38. res.setSystemId(”smsc.618119.com”);   
  39. res.setOptionalParameter(Tag.SC_INTERFACE_VERSION,   
  40. SMPPVersion.getDefaultVersion().getVersionID());   
  41. session.write(res);   
  42. }   
  43. }  
package com.lizongbo.smpp.server.handlers;
import org.apache.mina.common.*;
import com.lizongbo.smpp.server.*;
import ie.omk.smpp.*;
import ie.omk.smpp.message.*;
import ie.omk.smpp.message.tlv.*;
import ie.omk.smpp.util.*;
import ie.omk.smpp.version.*;
/**
*
* <p>Title: BindTransmitter Handler</p>
*
* <p>Description: smpp BIND_TRANSMITTER</p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: http://618119.com </p>
*
* @author lizongbo
* @version 1.0
*/
public class BindTransmitterHandler
implements SMPPPacketHandler {
public void process(IoSession session, SMPPPacket packet) throws
BadCommandIDException {
BindTransmitter msg = (BindTransmitter) packet;
System.out.println(”sysId=” + msg.getSystemId());
System.out.println(”password=” + msg.getPassword());
System.out.println(”sysType=” + msg.getSystemType());
System.out.println(”interfaceVer=” + msg.getInterfaceVersion());
System.out.println(”addrTon=” + msg.getAddressTon());
System.out.println(”addrNpi=” + msg.getAddressNpi());
System.out.println(”addressRange=” + msg.getAddressRange());
BindTransmitterResp res = (BindTransmitterResp) PacketFactory.
newInstance(SMPPPacket.BIND_TRANSMITTER_RESP);
res.setCommandStatus(msg.getCommandStatus());
res.setSequenceNum(packet.getSequenceNum());
res.setSystemId(”smsc.618119.com”);
res.setOptionalParameter(Tag.SC_INTERFACE_VERSION,
SMPPVersion.getDefaultVersion().getVersionID());
session.write(res);
}
}

 

3.处理DELIVER_SM_RESP,SUBMIT_SM,UNBIND消息的代码片断.

 

  1. public void process(IoSession session, SMPPPacket packet) throws  
  2. BadCommandIDException {   
  3. DeliverSMResp msg = (DeliverSMResp) packet;   
  4. System.out.println(”收到确认的消息编号:” + msg.getMessageId());   
  5. }   
  6. public void process(IoSession session, SMPPPacket packet) throws  
  7. BadCommandIDException {   
  8. SubmitSM msg = (SubmitSM) packet;   
  9. System.out.println(”serviceType=” + msg.getServiceType());   
  10. System.out.println(”source=” + msg.getSource());   
  11. System.out.println(”destination=” + msg.getDestination());   
  12. System.out.println(”esmClass=” + msg.getEsmClass());   
  13. System.out.println(”protocolID=” + msg.getProtocolID());   
  14. System.out.println(”priority=” + msg.getPriority());   
  15. System.out.println(”delivery=” + msg.getDeliveryTime());   
  16. System.out.println(”expiryTime=” + msg.getExpiryTime());   
  17. System.out.println(”registered=” + msg.getRegistered());   
  18. System.out.println(”replaceIfPresent=” + msg.getReplaceIfPresent());   
  19. System.out.println(”dataCoding=” + msg.getDataCoding());   
  20. System.out.println(”defaultMsg=” + msg.getDefaultMsg());   
  21. System.out.println(”message=” + new String(msg.getMessage()));   
  22. SubmitSMResp res = (SubmitSMResp) PacketFactory.   
  23. newInstance(SMPPPacket.SUBMIT_SM_RESP);   
  24. res.setCommandStatus(0);   
  25. res.setSequenceNum(packet.getSequenceNum());   
  26. res.setMessageId(”11233″);   
  27. session.write(res);   
  28. }   
  29. public void process(IoSession session, SMPPPacket packet) throws  
  30. BadCommandIDException {   
  31. Unbind msg = (Unbind) packet;   
  32. UnbindResp res = (UnbindResp) PacketFactory.   
  33. newInstance(SMPPPacket.UNBIND_RESP);   
  34. res.setCommandStatus(0);   
  35. res.setSequenceNum(packet.getSequenceNum());   
  36. session.write(res);   
  37. }
分享到:
评论

相关推荐

    java开源包10

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包4

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包3

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包8

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包1

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包11

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包2

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包6

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包5

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包7

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包9

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    Java资源包01

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包101

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    JAVA上百实例源码以及开源项目

    得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,使用公钥初始化签名对象,用于...

    JAVA上百实例源码以及开源项目源代码

    得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,使用公钥初始化签名对象,用于...

Global site tag (gtag.js) - Google Analytics