- 浏览: 557623 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (340)
- Spring (4)
- Hibernate (2)
- Linux (34)
- Oracle (145)
- Eclipse (1)
- UML (1)
- HTML&&JAVASCRIPT (11)
- JAVA (33)
- 设计模式 (1)
- 版本控制 (1)
- wrap框架 (3)
- IBATIS (5)
- Ruby (1)
- DWR (1)
- MINA (11)
- JBPM (2)
- 缓存技术 (4)
- 网络 (3)
- 应用服务器 (1)
- GWT (5)
- 杂谈 (2)
- ICE (4)
- XML (2)
- ArcGis (2)
- Flex (8)
- junit单元测试 (1)
- SNMP (1)
- 存储 (1)
- office (1)
- MongoDB (0)
- Greenplum (3)
- 管理点滴 (1)
- C++ (6)
- 网络入门 (3)
- Tomcat (7)
- JMX (0)
- webservice (1)
- Oracle的10046事件 (1)
- Library cache内部机制详解 (1)
- expdp通过dblink来导入 (1)
最新评论
-
yuanliangding:
有没有关于mock的更多知识。
基于mock对象和JUnit框架简化Spring Web组件单元测试 -
saup007:
ssh端口不是22,怎么搞呢?
Greenplum 学习笔记 -
springmvc-freemarker:
java开源项目源码实例下载
Apache上全部JAVA开源项目简介 -
bobbell:
哇塞,你真厉害,整理的非常全面。我是一个java barcod ...
Greenplum 学习笔记 -
wsj55133245513324:
这不是bug,你将日志级别从debug提升到INFO 就好了 ...
Spring,smppapi,apache mina, ssl快速实现安全的smpp(5)
对 SMPPPacket的业务处理代码:
1.处理 BIND_RECEIVER消息
- 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);
- }
- }
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消息
- 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);
- }
- }
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消息的代码片断.
- public void process(IoSession session, SMPPPacket packet) throws
- BadCommandIDException {
- DeliverSMResp msg = (DeliverSMResp) packet;
- System.out.println(”收到确认的消息编号:” + msg.getMessageId());
- }
- public void process(IoSession session, SMPPPacket packet) throws
- BadCommandIDException {
- SubmitSM msg = (SubmitSM) packet;
- System.out.println(”serviceType=” + msg.getServiceType());
- System.out.println(”source=” + msg.getSource());
- System.out.println(”destination=” + msg.getDestination());
- System.out.println(”esmClass=” + msg.getEsmClass());
- System.out.println(”protocolID=” + msg.getProtocolID());
- System.out.println(”priority=” + msg.getPriority());
- System.out.println(”delivery=” + msg.getDeliveryTime());
- System.out.println(”expiryTime=” + msg.getExpiryTime());
- System.out.println(”registered=” + msg.getRegistered());
- System.out.println(”replaceIfPresent=” + msg.getReplaceIfPresent());
- System.out.println(”dataCoding=” + msg.getDataCoding());
- System.out.println(”defaultMsg=” + msg.getDefaultMsg());
- System.out.println(”message=” + new String(msg.getMessage()));
- SubmitSMResp res = (SubmitSMResp) PacketFactory.
- newInstance(SMPPPacket.SUBMIT_SM_RESP);
- res.setCommandStatus(0);
- res.setSequenceNum(packet.getSequenceNum());
- res.setMessageId(”11233″);
- session.write(res);
- }
- public void process(IoSession session, SMPPPacket packet) throws
- BadCommandIDException {
- Unbind msg = (Unbind) packet;
- UnbindResp res = (UnbindResp) PacketFactory.
- newInstance(SMPPPacket.UNBIND_RESP);
- res.setCommandStatus(0);
- res.setSequenceNum(packet.getSequenceNum());
- session.write(res);
- }
发表评论
-
MINA工作流程
2011-04-15 11:09 2364Mina 中的很多执行环节都使用了多线程机制,用于提高性能。M ... -
Java NIO原理和使用
2011-04-14 15:02 893Java NIO非堵塞应用通 ... -
Java远程通讯可选技术及原理
2008-07-22 14:20 966在分布式服务框架中, ... -
MINA Begin
2008-07-22 10:59 36061. 传统Socket:阻塞式通 ... -
Spring,smppapi,apache mina, ssl快速实现安全的smpp(6)
2008-07-21 15:41 2570接上一篇: http://618119.com/archive ... -
Spring,smppapi,apache mina, ssl快速实现安全的smpp(5)
2008-07-21 15:41 7604接上一篇: http://618119.com/archive ... -
用Spring,smppapi,mina, commons ssl快速实现安全的smp(3)
2008-07-21 15:38 1565作者:lizongbo 版权声明:可以任意转载,转载时请务必以 ... -
用Spring,smppapi,mina, commons ssl快速实现安全的smp(2)
2008-07-21 15:37 2662作者:lizongbo 版权声明:可以任意转载,转载时请务必以 ... -
用Spring,smppapi,mina, commons ssl快速实现安全的smp(1)
2008-07-21 15:35 3488作者:lizongbo 发表于:1:19 下午. 星期二, 1 ... -
使用 Apache MINA 开发高性能网络应用程序
2008-07-02 14:35 1815本文将通过一个简单的问候程序 HelloServer 来介绍 ...
相关推荐
2. **mina-integration-spring**:如果你的项目使用Spring框架,此模块可以帮助你集成MINA,利用Spring的依赖注入和配置管理能力。 3. **mina-protocol-XXX**:MINA提供了多种协议实现,如TCP、UDP、SSL/TLS等,...
5. **安全与权限控制**:可以配置SSL/TLS加密传输,以及用户访问权限,确保数据安全。 总之,Apache FtpServer提供了一套完整的FTP服务解决方案,并且能够很好地融入Spring生态,使得在Java应用中搭建和管理FTP...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...