Ошибка Java при отправке смс-сообщения с модемом GSM

Привет. Я пытаюсь отправить смс-сообщение с помощью Java с помощью GSM-модема. Я изучаю этот URL-адрес: http://www.codeproject.com/Tips/492716/How-to-send-SMS-Использование-Java-с-HSDPA-Dongle Вот мой код:

импортировать com.harshadura.gsm.smsdura.GsmModem;

public class TestSMS {
private static String port = "COM1"; //Modem Port.
private static int bitRate = 9600; //this is also optional. leave as it is.
private static String modemName = "ZTE"; //this is optional.
private static String modemPin = "0000"; //Pin code if any have assigned to the modem.
private static String SMSC = "+9477000003"; //Message Center Number ex. Mobitel

public static void main(String[] args) throws Exception {
    GsmModem gsmModem = new GsmModem();
    GsmModem.configModem(port, bitRate, modemName, modemPin, SMSC);
    gsmModem.Sender("+917350320106", "Test Message"); // (tp, msg)
}
}

Я добавил различные библиотеки в построенный путь моего проекта:

comm.jar
commons-net-3.0.1.jar
smsdura-1.0.jar
RXTXcomm.jar

Однако я получаю эту ошибку при запуске проекта: Исключение в потоке main org.smslib.GatewayException: Исключение библиотеки Comm: java.lang.RuntimeException: javax.comm.NoSuchPortException

Пожалуйста помоги


person user3631251    schedule 29.05.2014    source источник
comment
Можете ли вы получить доступ к COM1 с помощью гипертерминала, выполнить AT и посмотреть, получите ли вы ответ «ОК»?   -  person Matt Aldridge    schedule 29.05.2014
comment
support.microsoft.com/kb/124890/EN-US должен вам помочь с гипертерминалом. После того, как вы подключитесь, просто введите AT и посмотрите, вернется ли OK.   -  person Matt Aldridge    schedule 29.05.2014
comment
Не зная никаких подробностей об этой библиотеке GSM-модема, представленный вами код выглядит нормально. Ваш следующий шаг должен состоять в том, чтобы включить отладку в библиотеке (которую она обязательно должна поддерживать, в противном случае это очень плохая библиотека), чтобы отладить, почему она не работает должным образом.   -  person hlovdal    schedule 30.05.2014
comment
@user3631251 user3631251 эй, я должен сделать что-то вроде этого, но не понимаю, как это сделать, так как для этого используется модем и все такое, мне просто нужно выполнить задачу, которая отправляет смс, так что я должен использовать, не могли бы вы сказать мне   -  person    schedule 15.04.2019


Ответы (2)


Сначала заполните аргументы в этой строке "GsmModem.configModem(port, bitRate, modemName, modemPin, SMSC);"

1.port может просто щелкнуть правой кнопкой мыши значок «Мой компьютер»> перейти в «Управление»> затем «Поиск модемов»>, после чего появится всплывающий интерфейс с несколькими вкладками. Хорошо, тогда вы можете просто заметить их имя, называемое портом. Перед ним находится номер порта. Теперь вы знаете номер порта. Вставьте это в код. 2.Имя модема опционально 3.Битрейт? Оставьте все как есть. Или поменять на правильный. Номер изменится в зависимости от модема на модем. 4. Некоторые модемы используют PIN-коды для обеспечения безопасности. Ваш тоже использует такую ​​булавку? Если это так, пожалуйста, вставьте его в код. если у вас есть код в вашем модеме 5.заполните номер вашего сетевого сервисного центра...проверьте настройки сообщений..

person user1905654    schedule 25.09.2014

Эта ошибка может возникать по нескольким причинам.

  1. Программное обеспечение ключа может быть открыто. Поэтому закройте его, дважды проверьте, работает ли он в качестве фоновой службы с помощью диспетчера задач. Убейте его, если он все еще работает.
  2. Ваши конфигурации SMSLib для JVM не затронуты должным образом. Так что проверьте еще раз нужные файлы есть или нет. Вам нужно разместить их как JDK, так и JRE, см. 1
  3. Эта программа плохо работает с 64-битной JVM, но это не означает, что вы не можете использовать ее на 64-битной машине. Вы установили 32-битный JDK на машину, удалите 64-битный JDK, чтобы избежать путаницы.
  4. Порт, к которому вы собираетесь получить доступ, может быть недоступен в системе. Вы можете просто проверить порт ключа, если он есть: щелкнув правой кнопкой мыши значок «Компьютер», затем выберите «Управление»> затем выберите «Диспетчер устройств»> затем разверните столбец «Порты (COM LPT)»> Вы увидите порт интерфейса приложения вашего устройства. Это порт, который вы должны использовать.
person Jananath Banuka    schedule 17.01.2018