当前位置: 首页 > 知识库问答 >
问题:

在smslib中处理当前消息时,等待发送新消息

仲孙兴旺
2023-03-14

我的代码仍在工作,我可以发送消息并等待消息发送完毕。发送消息的持续时间大约为10秒,这对我不好,因为我的程序需要1秒的间隔才能发送下一条消息。看看以澄清问题。

msg4-

msg4、msg3和msg2仍在等待,直到msg1发送/失败。

这是代码sendMessage.java

    public void doIt(String mobile_number, String message) throws Exception
    {
            OutboundNotification outboundNotification = new OutboundNotification();
            System.out.println("Example: Send message from a serial gsm modem.");
            System.out.println(Library.getLibraryDescription());
            System.out.println("Version: " + Library.getLibraryVersion());
            SerialModemGateway gateway = new SerialModemGateway("modem.com5", "COM5", 921600, "", "");
            gateway.setInbound(true);
            gateway.setOutbound(true);
            Service.getInstance().setOutboundMessageNotification(outboundNotification);
            Service.getInstance().addGateway(gateway);
            Service.getInstance().startService();
            System.out.println();
            System.out.println("Modem Information:");
            System.out.println("  Manufacturer: " + gateway.getManufacturer());
            System.out.println("  Model: " + gateway.getModel());
            System.out.println("  Serial No: " + gateway.getSerialNo());
            System.out.println("  SIM IMSI: " + gateway.getImsi());
            System.out.println("  Signal Level: " + gateway.getSignalLevel() + " dBm");
            System.out.println("  Battery Level: " + gateway.getBatteryLevel() + "%");
            System.out.println();



            OutboundMessage msg = new OutboundMessage(mobile_number, message);
            Service.getInstance().sendMessage(msg);

            System.out.println(msg);
            System.out.println("Now Sleeping - Hit <enter> to terminate.");
          //  System.in.read();
            Service.getInstance().stopService();
    }

在我看来。java类

for(int i=0; i<4; i++) {
  new sendMessage().doIt("09483221***","This is the message");
  Thread.sleep(1000);
}

第一条消息已成功发送,但第二条消息等未发送。如何使这些等待直到发送第一条消息?

共有1个答案

黄成荫
2023-03-14

一旦您发送第一条消息,您的端口将无法用于下一条短信,这就是为什么您无法发送第二条短信。解决方案一旦发送第一条短信,请终止端口并发送第二条短信

 类似资料:
  • 我有以下兔子听者: 我需要将listener配置为在它处理一条消息后等待15分钟,然后再接收下一条消息。不需要在此方法中等待。我所需要的只是在处理完一条后不接收任何消息。可以通过来完成,但我不确定这是否是实现这一点的最佳方法。对于这种情况有没有rabbitmq的配置?

  • 环境/背景: 使用PHP Stomp库从ActiveMQ(v5.4.3)发送和接收消息。 步骤: 客户端发送消息并回复至 当没有挂起消息或挂起消息时,上述步骤可以正常工作 其他发现: > 允许在同一个请求队列中发送超过1000条消息(并最终处理并放置在响应队列中)。所以它看起来不像内存问题。 有趣的是,在等待超时时,如果我在管理UI上浏览队列,我会得到响应。 默认情况下,我使用的stomp代理将预

  • 我正在使用hiredis C库连接到redis服务器。我不知道在订阅新消息后如何等待新消息。 我的代码如下所示: 现在如何告诉雇佣者在频道上等待消息?

  • 我正在网上阅读苹果的文档 处理本地和远程通知 在我看来,它有相互矛盾的说法。有人能澄清这些困惑吗?现在让我们严格地说一下远程通知(与本地通知相比)。 文档称,如果按下通知上的操作按钮,它将调用application:didfishlaunchingwithoptions并传递通知负载。之后,它会说,如果应用程序在前台运行,它会通过应用程序:DidReceiveMemoteNotify:发送通知。这

  • 版本 维特。x核心:3.5.0 vert. x redis客户端:3.5.0 上下文 2018-06-02 17:40:55.981错误4933---[ntlop-thread-2]io.vertx.redis.impl.重新连接:没有处理程序等待消息:14751915 2018-06-02 17:41:10.937错误4933---[ntloop-thread-2]io。维特斯。雷迪斯。impl

  • 问题内容: 我正在使用hiredis C库连接到redis服务器。我无法弄清楚订阅新消息后如何等待新消息。 我的代码如下所示: 现在如何告诉hiredis在频道上等待消息? 问题答案: 您无需告诉hiredis您需要在通道上等待:事件循环将仅在先前已注册的Redis连接上等待。 这是一个完整的示例: 您可以通过使用以下命令发布内容来对其进行测试: event_base_dispatch函数是实际启