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

对 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. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值