gpt4 book ai didi

smpp - 如何从 SMSC 发送 Deliver_sm 请求

转载 作者:行者123 更新时间:2023-12-04 13:24:37 33 4
gpt4 key购买 nike

我正在创建一个应用程序,我的机器将像 SMSC 一样工作。从那里我只需要发送deliver_sm。服务器将发送绑定(bind)请求。我需要将我的机器与服务器绑定(bind)。我的应用程序将像 smpp 客户端一样工作。我有logica smpp.jar。但我很困惑如何只发送deliver_sm。请给我一些想法和代码。
谁能告诉我如何发送出站请求,这对我也很有帮助。
谢谢
库希克

最佳答案

您的问题无法以现在的方式回答。我在下面解释了两种可能的设置,然后是您正在寻找的解决方案。我的答案基于 SMPP 3.4 spec .

设置

设置 1:您正在创建 SMPP 客户端

  • 您正在创建一个 SMPP 客户端。客户端通常会发起连接。客户端也称为 ESME(外部短消息实体)。
  • 您的客户端将连接到 SMSC。 SMSC 是服务器,它们通常等待连接。
  • ESME 可以通过“submit_sm”或“data_sm”PDU 发送消息。

  • 设置 2:您正在创建 SMSC
  • SMSC 可以通过“deliver_sm”或“data_sm”PDU 发送消息。

  • 发起连接

    通常 ESME 会向 SMSC 发送绑定(bind)请求。绑定(bind)请求可以通过“bind_transmitter”、“bind_receiver”或“bind_transceiver”PDU 之一发送。

    SMSC 可以急切地邀请 ESME 通过“outbind”PDU 发送绑定(bind)请求。在这种情况下,SMSC 必须知道 ESME 的 IP/端口。它很少使用。

    这是发送出站请求的片段
    //you will need these classes
    import org.smpp.Session;
    import org.smpp.pdu.Outbind;

    Session session = .... ;//Assuming you created a session instance
    Outbind outbind = new Outbind(...);//assuming you created a outbind instance

    session.outbind(outbind);//send outbind

    发送消息

    我已经在设置部分讨论了这一点。在这里重复,
  • ESME 可以通过“submit_sm”或“data_sm”PDU 发送消息。 data_sm 不经常使用。
  • SMSC 可以通过“deliver_sm”或“data_sm”PDU 发送消息。 data_sm 不经常使用。

  • 我不确定为什么只发送“deliver_sm”如此重要。作为编码员,您可以控制要发送的 PDU 类型。

    这是发送deliver_sm请求的片段
    //you will need these classes
    import org.smpp.Session;
    import org.smpp.pdu.DeliverSM;

    DeliverSM pdu = new DeliverSM();
    pdu.setSequenceNumber(1);//set unique numbers
    pdu.setSourceAddr(new Address(1, 1, "12120001234"));//TON, NPI, source number
    pdu.setDestAddr(new Address(1, 1, "12120004321"));//TON, NPI, destination number
    pdu.setShortMessage("Hello world");
    session.deliver(pdu);

    关于smpp - 如何从 SMSC 发送 Deliver_sm 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6729755/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com