【问题标题】:Cloudhopper SMPP - How to send MO sms to client?Cloudhopper SMPP - 如何向客户发送 MO 短信?
【发布时间】:2014-09-02 15:23:43
【问题描述】:

https://github.com/twitter/cloudhopper-smpp/blob/master/src/test/java/com/cloudhopper/smpp/demo/ServerMain.java 的演示提供了从客户端接收 MT 消息的示例。但是如何将消息(deliver_sm)从服务器发送到连接的客户端?

【问题讨论】:

    标签: java smpp


    【解决方案1】:

    我刚刚从 ClientMain 获取代码并将 SubmitSm 更改为 DeliverSm。 出于测试目的,我从控制台读取消息文本并使用此代码发送消息。 您应该在单独的线程中调用此方法。 您还应该处理会话列表,以便在您想要发送消息时获得会话参考。

    void sendMessage( SmppSession session,  String message) {
    
        try {
            byte[] textBytes = CharsetUtil.encode(message, CharsetUtil.CHARSET_UCS_2);
    
            DeliverSm deliver = new DeliverSm();
    
            deliver.setSourceAddress(new Address((byte)0x03, (byte)0x00, "40404"));
            deliver.setDestAddress(new Address((byte)0x01, (byte)0x01, "44555519205"));
            deliver.setShortMessage(textBytes);
    
            WindowFuture<Integer,PduRequest,PduResponse> future = session.sendRequestPdu(deliver, 10000, false);
            if (!future.await()) {
                logger.error("Failed to receive deliver_sm_resp within specified time");
            } else if (future.isSuccess()) {
                DeliverSmResp deliverSmResp = (DeliverSmResp)future0.getResponse();
                logger.info("deliver_sm_resp: commandStatus [" + deliverSmResp.getCommandStatus() + "=" + deliverSmResp.getResultMessage() + "]");
            } else {
                logger.error("Failed to properly receive deliver_sm_resp: " + future.getCause());
            }
        } catch (Exception e) {}
    }
    

    【讨论】:

    • 能分享一下全班的代码吗?
    • 不幸的是,没有。那是我之前工作的内部项目的代码,所以我现在无法访问它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    相关资源
    最近更新 更多