【问题标题】:Java error sending sms message with gsm modem使用 gsm 调制解调器发送 sms 消息的 Java 错误
【发布时间】:2014-05-29 11:00:05
【问题描述】:

您好,我正在尝试使用 Java 和 GSM 调制解调器发送短信 我正在从这个 URL 学习:http://www.codeproject.com/Tips/492716/How-to-send-SMS-using-Java-with-a-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

但是,我在运行项目时收到此错误: 线程主org.smslib.GatewayException中的异常:通信库异常:java.lang.RuntimeException:javax.comm.NoSuchPortException

请帮忙

【问题讨论】:

  • 你能不能用超级终端访问COM1并执行AT,看看你是否得到一个OK?
  • support.microsoft.com/kb/124890/EN-US 应该可以帮助您使用超级终端。连接后只需键入 AT 并查看 OK 是否返回。
  • 在不知道有关此 gsm 调制解调器库的任何详细信息的情况下,您提供的代码看起来不错。你的下一步应该是在库中打开调试(它绝对应该支持,否则它是一个非常糟糕的库)来调试它为什么不能像预期的那样工作。
  • @user3631251 嘿,我只需要做这样的事情,但不知道怎么做,因为正在使用调制解调器等等,我只需要做一个发送短信的任务,我应该怎么做使用你能告诉我吗

标签: java gsm modem


【解决方案1】:

首先在这一行填写参数“GsmModem.configModem(port, bitRate, modemName, modemPin, SMSC);”

1.端口 可以简单地右键单击我的电脑图标>转到管理>然后搜索调制解调器>然后它会弹出一个带有几个选项卡的界面。好的,那么您可以简单地注意到他们的一个名为端口的名称。前面是端口号。现在您知道端口号了。将其插入代码中。 2.调制解调器名称 是可选的东西 3.比特率? 保持原状。或者换一个合适的。该数字将根据调制解调器更改为调制解调器。 4.一些调制解调器使用 PIN 码来保证安全。你的也用这样的别针吗?如果是这样,请将其插入代码。如果您的调制解调器中有代码 5.填写您的网络服务中心号码...检查您的消息设置..

【讨论】:

    【解决方案2】:

    发生此错误的原因有多种。

    1. 您的加密狗软件可能已打开。所以关闭它,使用任务管理器仔细检查它是否作为后台服务运行。如果它仍然运行,请将其杀死。
    2. 您对 JVM 的 SMSLib 配置未受到正确影响。所以再次检查所需的文件是否存在。您需要将它们同时放置 JDK 和 JRE 参见 1
    3. 这个程序在 64 位 JVM 上不能很好地工作,但它并不是说你不能在 64 位机器上使用它。您的机器上已经安装了 32Bit JDK,请移除 64Bit JDK 以防止混淆。
    4. 您要访问的端口在系统中可能并不真正可用。您可以通过以下方式简单地检查加密狗端口是否存在:右键单击计算机图标然后转到管理>然后选择设备管理器>然后展开端口(COM LPT)列>您将看到设备的应用程序接口端口。这就是你必须使用的端口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-30
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多