Подождите, пока новое сообщение будет отправлено, пока текущее сообщение обрабатывается в smslib.

мой код все еще работает, и я могу отправить сообщение и подождать, пока сообщение не будет отправлено. Продолжительность отправки сообщения составляет около 10 секунд, что не очень хорошо для меня, потому что моей программе требуется интервал в 1 секунду перед отправкой следующего сообщения. посмотрите, чтобы прояснить проблему.

сообщение4 -> сообщение3 -> сообщение2 -> сообщение1

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();
    }

в моем классе main.java

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

Первое сообщение было успешно отправлено, но второе и так далее не было отправлено. Как заставить их ждать, пока не будет отправлено первое сообщение?


person MGB C    schedule 15.10.2016    source источник


Ответы (1)


как только вы отправляете 1-е сообщение, ваш порт недоступен для следующего смс, поэтому вы не можете отправить второе смс решение после отправки первого смс закройте порт и отправьте второе смс

person Vinu Vish    schedule 11.12.2016