2012-02-17 63 views
1

如何用Logica smpp發送DeliverSMResp?我看到類Sessionrespond方法,但我不知道如何獲得從SMSC收到的PDU類的DeliverSMResp類的對象。用logica smpp發送DeliverSMResp

public void handleEvent(ServerPDUEvent event) { 
     PDU pdu = event.getPDU(); 
     System.out.println("PDU RECEIVED - " + pdu); 
     if (pdu.isRequest()) { 
      try{ 
       System.out.println("async request received, enqueuing " + pdu.debugString()); 
       session.respond(???????); 
      } 

我的假設:

DeliverSMResp deliverSMResp = new DeliverSMResp(); 
     deliverSMResp.setSequenceNumber(pdu.getSequenceNumber()); 
     starter.getSession().respond(deliverSMResp); 

但我不能肯定。

回答

1
DeliverSMResp deliverSMResp = new DeliverSMResp(); 
    deliverSMResp.setSequenceNumber(pdu.getSequenceNumber()); 
    starter.getSession().respond(deliverSMResp); 

它的工作原理!

+0

你好,我實際上是在類似的情況。我假設smsc回調delivery_sm?我已經設置了'submitRequest.setRegisteredDelivery((字節)0x01)'。我知道handleEvent被調用:' - 異步響應收到(submit_resp:(pdu:18 80000004 0 2)5)'但我不知道如何得到實際交付給手機 – 2014-10-20 16:08:31

+0

我已經忘記,沒有訪問根據我的消息來源,但我認爲這應該是SMSC的其他迴應,通知客戶短信已發送。在我的腦海裏也有人說我應該在發送給SMSC之前在PDU中添加諸如「發送通知號碼」之類的內容,讓他知道你想收到發送通知。 – Divers 2014-10-21 10:12:49

+0

感謝您的答案,但它一直未能幫助我很多。只有可用的方法是'submitRequest.setRegisteredDelivery((byte)0x01') – 2014-10-22 09:04:59