Использование opensmpp для получения SMS-сообщений arabi c - PullRequest
0 голосов
/ 02 апреля 2020

Я использую OpenSmpp lib для привязки в качестве приемопередатчика к SMS C для получения сообщений, как я могу проанализировать полученный PDU, чтобы извлечь текст сообщения и прочитать его на арабском c. Я получаю следующий PDU:

(доставьте: (pdu: 192 5 0 2) (addr: 5 0 Test) (addr: 1 1 2010xxxxxxxx) (sm: msg:

15J / -3 '(C AI AH /' AHF C '4' D-'DJ 1,86, FJG DH 9'J2 * -HD ADH3 D # J) (опция:))

Также вот мой код:

public void receive(long receiveTimeout) {

    try {

        PDU pdu = null;
        System.out.print(LocalDateTime.now() + " -- " + Thread.currentThread().getStackTrace()[1].getMethodName()
                + " -- Going to receive a PDU. \n");

        if (asynchronous) {
            pduListener = new SMPPPDUEventListener(session);
            ServerPDUEvent pduEvent = pduListener.getRequestEvent(receiveTimeout);
            if (pduEvent != null) {
                pdu = pduEvent.getPDU();
            }
        } else {
            pdu = session.receive(receiveTimeout);
        }

        if (pdu != null) {
            System.out.println(LocalDateTime.now() + " -- " + Thread.currentThread().getStackTrace()[1].getMethodName()
                            + " -- Received PDU: " + pdu.debugString());
            if (pdu.isRequest()) {
                Response response = ((Request) pdu).getResponse();
                // respond with default response
                System.out.println(
                        LocalDateTime.now() + " -- " + Thread.currentThread().getStackTrace()[1].getMethodName()
                                + " -- Going to send default response to request " + response.debugString());
                session.respond(response);
            }
        } else {
            System.out.println(LocalDateTime.now() + " -- "
                    + Thread.currentThread().getStackTrace()[1].getMethodName() + " -- No PDU received this time.");
        }

    } catch (Exception e) {
        System.out.println(
                LocalDateTime.now() + " -- " + Thread.currentThread().getStackTrace()[1].getMethodName() + " -- " + e);
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...