短信猫报错及解决办法

具体的操作步骤如下:

1、把smslib-3.3.0b2.jarcomm.jarlog4j-1.2.11.jar,放入到工程的lib中;

2、把javax.comm.properties放到%JAVA_HOME%/jre/lib下;

3、把win32com.dll放到%JAVA_HOME%/jre/bin下;

4  comm.jar放到%JAVA_HOME%/jre/ext

注意:路径放错,调用起来就会报错;JDK的版本,用的版本是jdk-1_5_0_04

2013-09-18 10:39:54,859 WARN [org.smslib] - <GTW: modem.com4: Cannot understand SIMPIN response: ERROR

, will wait for a while...>

卡没有插好或者信号不好,要么卡有问题,要么信号不好,要么设备坏了

1、如果报了如下错误: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger 

那是因为没有把log4j-1.2.13.jar倒入到工程中。

2、如果报了如下错误: org.smslib.GatewayException: Comm library exception: java.lang.RuntimeException:javax.comm.NoSuchPortException

运行main,即可发送短信,如果没有配置好之前的几个文件

就会出现报错,如:

org.smslib.GatewayException: Comm library exception: java.lang.reflect.InvocationTargetException

at org.smslib.modem.SerialModemDriver.connectPort(SerialModemDriver.java:93)

at org.smslib.modem.AModemDriver.connect(AModemDriver.java:106)

at org.smslib.modem.ModemGateway.startGateway(ModemGateway.java:111)

at org.smslib.Service$1Starter.run(Service.java:227)

org.smslib.TimeoutException: No response from device.

at org.smslib.modem.AModemDriver$CharQueue.get(AModemDriver.java:474)

at org.smslib.modem.AModemDriver.getResponse(AModemDriver.java:272)

at org.smslib.modem.athandler.ATHandler.getSimStatus(ATHandler.java:127)

at org.smslib.modem.AModemDriver.connect(AModemDriver.java:118)

at org.smslib.modem.ModemGateway.startGateway(ModemGateway.java:111)

at org.smslib.Service$1Starter.run(Service.java:227)

这个错误!害了我差不多俩小时了,公布出来

SerialModemGateway gateway = new SerialModemGateway("modem.com3", "COM3", 9600, "wavecom", "11258");

千万得配好这个东西,要不然,不止这里可能出错,上面的那个异常也可能出现

// 电话号码为空

java.lang.NullPointerException

at org.ajwcc.pduUtils.gsm3040.Pdu.setAddress(Pdu.java:225)

at org.ajwcc.pduUtils.gsm3040.PduParser.parseSmsSubmitMessage(PduParser.java:306)

at org.ajwcc.pduUtils.gsm3040.PduParser.parsePdu(PduParser.java:166)

at org.smslib.modem.ModemGateway.sendMessagePDU(ModemGateway.java:329)

at org.smslib.modem.ModemGateway.sendMessage(ModemGateway.java:162)

at org.smslib.Service.sendMessage(Service.java:530)

at com.gpower.services.util.SendMessage.doIt(SendMessage.java:146)

at com.gpower.web.content.MessageAction.doCreate(MessageAction.java:170)

at com.gpower.web.content.MessageAction.execute(MessageAction.java:50)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)

at com.gpower.web.common.SecurityRequestProcessor.processActionPerform(SecurityRequestProcessor.java:76)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.gpower.web.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:119)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.gpower.web.filters.EncodingFilter.doFilter(EncodingFilter.java:95)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Thread.java:595)

右键我的电脑 属性

在MyEclipse里 1. slf4j-api-1.5.2.jar slf4j-api-1.5.2-sources.jar slf4j-nop-1.5.2.jar comm.jar smsserver-3.4.1.jar smslib-3.4.1.jar 将上述6个jar包拷贝到lib下 2. 在Windows环境下使用SMSLib编程的时候,我们需要做一下comm的配置: 1. 将win32com.dll放置在%JAVA_HOME%/jre/bin下 2. 将comm.jar放置在%JAVA_HOME%/jre/lib/ext下 3. 将javax.comm.properties放置在%JAVA_HOME%/jar/lib下 再试试SMSLib自带的examples,看看效果。 3. pci接口安装drive 程序测试用例: package examples.modem; import org.smslib.IOutboundMessageNotification; import org.smslib.Library; import org.smslib.OutboundMessage; import org.smslib.Service; import org.smslib.modem.SerialModemGateway; public class SendMessage { public void doIt() throws Exception { Service srv; OutboundMessage msg; 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()); srv = new Service(); SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM1", 57600, "Nokia", "6310i"); gateway.setInbound(true); gateway.setOutbound(true); gateway.setSimPin("0000"); srv.setOutboundNotification(outboundNotification); srv.addGateway(gateway); srv.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() + "%"); System.out.println(" Battery Level: " + gateway.getBatteryLevel() + "%"); System.out.println(); // Send a message synchronously. msg = new OutboundMessage("+306948494037", "Hello from SMSLib!"); srv.sendMessage(msg); System.out.println(msg); // Or, send out a WAP SI message. //OutboundWapSIMessage wapMsg = new OutboundWapSIMessage("+306948494037", new URL("https://mail.google.com/"), "Visit GMail now!"); //srv.sendMessage(wapMsg); //System.out.println(wapMsg); // You can also queue some asynchronous messages to see how the callbacks // are called... //msg = new OutboundMessage("+309999999999", "Wrong number!"); //msg.setPriority(OutboundMessage.Priorities.LOW); //srv.queueMessage(msg, gateway.getGatewayId()); //msg = new OutboundMessage("+308888888888", "Wrong number!"); //msg.setPriority(OutboundMessage.Priorities.HIGH); //srv.queueMessage(msg, gateway.getGatewayId()); System.out.println("Now Sleeping - Hit to terminate."); System.in.read(); srv.stopService(); } public class OutboundNotification implements IOutboundMessageNotification { public void process(String gatewayId, OutboundMessage msg) { System.out.println("Outbound handler called from Gateway: " + gatewayId); System.out.println(msg); } } public static void main(String args[]) { SendMessage app = new SendMessage(); try { app.doIt(); } catch (Exception e) { e.printStackTrace(); } } }
DRC (Design Rule Check) 是一种常见的电子设计自动化工具,用于检查电路设计是否符合预定义的规则和标准。当进行 PCB 设计时,可能会出现各种不同的 DRC 报错,下面是一些常见的问题和解决方法: 1. 路径限制:当信号路径的长度超出预设的最大阻抗限制时,DRC 报错解决办法是调整线宽、间距或者增加阻抗匹配网络。 2. 短路:当两条信号线之间存在短路时,DRC 报错解决办法是检查布线是否存在错误,调整线宽、间距或者增加隔离距离。 3. 缺陷连接:当某个器件或元件与其他部分失去连接时,DRC 报错解决办法是检查错误的元件、引脚或连线,重新建立连接。 4. 过孔规则:当过孔的尺寸或布局不符合规则时,DRC 报错解决办法是调整过孔尺寸、布局或者增加过孔覆铜。 5. 禁止元件:当设计中使用了禁用的元件时,DRC 报错解决办法是查找并替换使用了禁用元件的部分。 6. 间距限制:DRC 报错可能是由于布线中的线宽、间距未能满足预设的最小距离导致。解决办法是调整线宽、间距或者增加地平面层等措施。 7. 禁止添加:DRC 报错可能是由于禁用了某些布线层或过程层的使用导致。解决办法是检查设计要求,了解哪些层是禁止使用的,并进行相应的更改。 当出现 DRC 报错时,首先需要仔细阅读报错信息并理解具体的错误原因。然后,根据报错的具体情况进行相应的调整和更改。最后,重新运行 DRC 检查,确保问题已经解决。通过这些步骤,我们可以有效地解决 DRC 报错,提高电路设计的质量和可靠性。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值