java - SMSLib发送消息,使用多个网关

标签 java sms-gateway smslib

我正在使用 SMSLib 发送和接收消息。一切工作正常,但现在我想插入多个调制解调器。我想通过所有调制解调器接收消息并用它们做一些事情(我想我可以做到)。我也想发送消息,但只能通过选定的调制解调器(这是我的问题)。在我拥有一个网关之前,我是这样发送的:

OutboundMessage msg = new OutboundMessage(recipientNumber, text);
Service.getInstance().sendMessage(msg);

但是现在,我如何选择我想要用来发送消息的一个特定网关?​​

我发现一个主题的问题有点像我的问题,但不完全是: Use multiple gateway with SMSLIB

最佳答案

每个调制解调器都是 SMSLib 中的一个 AGatway 对象,因此您需要先对其进行设置:

SerialModemGateway modemGateway = new  SerialModemGateway("FirstGateway", "/dev/ttyM0", "9600", "WAVECOM", "Fastrack");
Service.getInstance().addGateway(modemGateway);

其中 FirstGateway 是调制解调器的 ID,在 SMSLib 中称为 gatewayId。您现在要做的就是将 gatewayId 传递给 sendMessage 方法或 queueMessage(如果您异步发送消息):

OutboundMessage msg = new OutboundMessage(recipientNumber, text);
Service.getInstance().sendMessage(msg, "FirstGateway");

或者:

OutboundMessage msg = new OutboundMessage(recipientNumber, text);
msg.setGatewayId("FirstGateway");
Service.getInstance().sendMessage(msg);

关于java - SMSLib发送消息,使用多个网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35791461/

相关文章:

Java:存储对静态类的引用是可变的

sms - 双向短信 - 发送/接收

java - OTP 和 SMS 网关实现涉及哪些步骤和流程

java - 在同一进程中使用 SMSLib 发送多条短信

java - SMSLib 不接收短信 [java 版]

java - 记住从 Java 文件中读取的第一个值

java - 数组未捕获第一个用户条目

c# - C#和Java中的加密方法

c# - 如何开发自己的短信网关?

java - SMSlib 接收重复消息