2016-10-15 1 views
0

Prozess läuft ist mein Code noch funktioniert und ich kann eine Nachricht senden und warten, bis die Nachricht gesendet wurde. Die Dauer des Sendens einer Nachricht beträgt ungefähr 10 Sekunden, was für mich nicht gut ist, da mein Programm ein Intervall von 1 Sekunde benötigt, bevor die nächste Nachricht gesendet wird. Schauen Sie nach, um das Problem zu klären.Warten Sie eine neue Nachricht zu senden, während die aktuelle Nachricht in Smslib

MSG4 -> msg3 -> msg2 -> msg1

MSG4, msg3 und msg2 warten noch, bis der msg1 wurde gesendet/nicht bestanden.

hier ist der Code 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(); 
    } 

in meiner main.java Klasse

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

Die erste Nachricht erfolgreich gesendet wurde, aber die zweite und so war auf unsent . Wie diese warten, bis die erste Nachricht gesendet wurde?

Antwort

0

sobald Sie erste Nachricht Ihr Port senden ist nicht verfügbar für die nächsten sms das ist, warum u nicht in der Lage kann zweite sms die Lösung einmal senden Sie Ihre erste SMS beenden den Port und senden zweite SMS

senden
Verwandte Themen