Tôi đang cố gắng gửi tin nhắn sms nhiều phần trong java.Không thể gửi tin nhắn sms nhiều phần trên SMPP trong java
public static void main(String[] args) throws Exception {
SMPPSession session = new SMPPSession();
session.connectAndBind("0.0.0.0", 00000, new BindParameter(
BindType.BIND_TX, "User", "Pass", "SMPP", TypeOfNumber.UNKNOWN,
NumberingPlanIndicator.UNKNOWN, null));
Random random = new Random();
final int totalSegments = 3;
OptionalParameter sarMsgRefNum = OptionalParameters.newSarMsgRefNum((short) random.nextInt());
OptionalParameter sarTotalSegments = OptionalParameters.newSarTotalSegments(totalSegments);
for (int i = 0; i < totalSegments; i++) {
final int seqNum = i + 1;
String message = "Message part " + seqNum + " of " + totalSegments + " ";
OptionalParameter sarSegmentSeqnum = OptionalParameters
.newSarSegmentSeqnum(seqNum);
String messageId = session.submitShortMessage("CMT", TypeOfNumber.INTERNATIONAL,
NumberingPlanIndicator.UNKNOWN, "919999999999", TypeOfNumber.INTERNATIONAL,
NumberingPlanIndicator.UNKNOWN, "919999999999", new ESMClass(),
(byte) 0, (byte) 1, timeFormatter.format(new Date()), null,
new RegisteredDelivery(SMSCDeliveryReceipt.DEFAULT), (byte) 0,
new GeneralDataCoding(false, false, MessageClass.CLASS1,
Alphabet.ALPHA_8_BIT), (byte) 0, message.getBytes(),sarSegmentSeqnum, sarTotalSegments, sarMsgRefNum);
System.out.println("Message submitted, message_id is " + messageId);
}
session.unbindAndClose();
}
Nhưng mã này dường như không hoạt động. Những gì tôi nhận được là tin nhắn được chia thành nhiều tin nhắn khác nhau và không được ghép nối trên điện thoại.
Mọi gợi ý về những gì tôi đang làm sai ở đây.
Tôi đề nghị bạn nhận được một dấu vết mạng của việc gửi với [Wireshark] (http://www.wireshark.org/). Nó có một trình xử lý giao thức SMPP tuyệt vời sẽ hiển thị tất cả các cờ và các tùy chọn của các gói. Nếu bạn vẫn gặp sự cố khi đăng chi tiết và tôi có thể trợ giúp. – alexrs