设为首页 收藏本站
查看: 1323|回复: 0

[经验分享] 华为网关短信发送和接收

[复制链接]

尚未签到

发表于 2016-6-6 10:48:39 | 显示全部楼层 |阅读模式
  package com.skywin.simpass.sysinterface.sms.util;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import com.huawei.insa2.comm.cmpp.message.CMPPDeliverMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPSubmitMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPSubmitRepMessage;
import com.huawei.insa2.util.Args;
import com.huawei.smproxy.SMProxy;
import com.skywin.simpass.sysinterface.sms.entity.SMSEntity;

public class SMSClient extends SMProxy {

    private static SMSClient ins;

    private SMSClient(Args args) {
        super(args);
    }

    public static SMSClient getInstance() {
        if (ins == null) {
            Map<String, String> m = new HashMap<String, String>();
            // 系统参数配置
            m.put("host", "host");
            m.put("port", "port");
            m.put("source-addr", "source-addr");
            m.put("shared-secret", "shared-secret");
            m.put("heartbeat-interval", "30");
            m.put("reconnect-interval", "30");
            m.put("heartbeat-noresponseout", "5");
            m.put("transaction-timeout", "10");
            m.put("version", "0");
            m.put("debug", "true");
            ins = new SMSClient(new Args(m));
        }
        return ins;
    }

    public CMPPMessage onDeliver(CMPPDeliverMessage msg) {
        String message = null;
        try {
            String receivedMsg = new String(msg.getMsgContent(), "UTF-8");
            // System.out.println("接收到的消息:"+receivedMsg);
            String receivedTelephone = msg.getSrcterminalId();
            // System.out.println("接收的手机号码:"+receivedTelephone);
            if ((receivedMsg.subSequence(0, 5)).equals("CSize")) {
                System.out.println(receivedMsg);
            } else {
                message = "充值请求信息格式不对";
                CMPPSubmitMessage submitMsg = new CMPPSubmitMessage(1, 1, 0, 1,
                        "0010", 0, "", 0, 0, 15, "950338", "02", Integer
                                .toString(0),
                        new Date(System.currentTimeMillis() + (long) 50000), // 存活期
                        null, "10658672", new String[] { receivedTelephone },
                        message.getBytes(), "");
                // 发送错误信息给用户
                SMSClient.getInstance().send(submitMsg);
            }
        } catch (Exception e) {
        }
        return super.onDeliver(msg);
    }

    public void send(CMPPSubmitMessage msg) throws Exception {
        CMPPSubmitRepMessage rep = (CMPPSubmitRepMessage) super.send(msg);
        // System.out.println(rep.toString());
    }

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
        SMSClient client = SMSClient.getInstance();
        System.in.read();
    }

}

  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-226978-1-1.html 上篇帖子: 华为ET127在CentOS5.x下面安装 下篇帖子: 2012/3/7华为面试题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表