如何从DeliverSM(logica smpp)和java检索UDH
我们使用Java1.6和logica_smpp.1.3.7.jar 我的问题是连接消息。我们总是在DeliverSM类中使用hasSarMsgRefNum方法来表示这是一个多消息部分 然而,这一点已经改变,我们现在接收GSM短消息服务用户数据,作为DeliverSM的一部分 我可以得到DeliverSM的esm_类,它向我指示这是一个连接的消息部分。我在检索shortMessage字段开头的实际用户数据头信息时遇到困难 这就是我得到乌迪的方式:如何从DeliverSM(logica smpp)和java检索UDH,java,smpp,Java,Smpp,我们使用Java1.6和logica_smpp.1.3.7.jar 我的问题是连接消息。我们总是在DeliverSM类中使用hasSarMsgRefNum方法来表示这是一个多消息部分 然而,这一点已经改变,我们现在接收GSM短消息服务用户数据,作为DeliverSM的一部分 我可以得到DeliverSM的esm_类,它向我指示这是一个连接的消息部分。我在检索shortMessage字段开头的实际用户数据头信息时遇到困难 这就是我得到乌迪的方式: byte udhi = (byte)Data.
byte udhi = (byte)Data.SM_UDH_GSM;
if (del.getEsmClass() == udhi) {
log.debug("This is a concatenated message part!");
}
以下是我收到短消息的方式:
byte[] bytes = del.getShortMessage().getBytes();
但是,当我将其转换为字符串时,它如下所示:
^E^@^C�^B^This is part one of a test message...
我需要知道如何转换第一部分。我解决了这个问题
我得到前5个字符(标题信息)
等等
第三个字符是消息参考号。
第四个字符是全部部分。
第五个字符是当前部分
我希望这对将来的人有所帮助:)
int char1 = del.getShortMessage().charAt(1);
int char2 = del.getShortMessage().charAt(2);