我试图在java中发送一个multipart sms消息.
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();
}
Run Code Online (Sandbox Code Playgroud)
但是这段代码似乎不起作用.我收到的是在不同消息中分开的消息,而不是在手机上连接的消息.
关于我在这里做错了什么的指示.
小智 1
拉克斯,
请记住,并非世界上所有网络或世界上所有手机都已正确配置用于发送/接收多部分 SMS 消息。
由于您(正确地)伪装了实际的 SMSC 连接器,因此我不确定您连接到哪个运营商/聚合器。因此,我无法评论这是否是您具体情况下的问题。
但正如 Alexrs 所说,包括 TCP 转储输出,我们至少可以对来自您的应用程序的正确输出进行评论。
归档时间: |
|
查看次数: |
1807 次 |
最近记录: |