深圳市未来时代科技有限公司
标题:
GSM MODEM短信设备使用rxtx+smslib出错常见问题
[打印本页]
作者:
admin
时间:
2019-12-24 10:11
标题:
GSM MODEM短信设备使用rxtx+smslib出错常见问题
在短信设备的开发过程中遇到了很多问题,在此进行记录,以供大家作为参考。
一、Error 0x5 at ..\src\termios.c(892): 拒绝访问
原因:
1.串口被占用
2.串口不存在
解决办法:
1.系统的管理器中,查看串口是否存在,不存在进行更换。
2.如果串口存在,查看是否有其他的程序正在打开,占用了该串口(例如串口测试工具等,我就是这个问 题)。
二、org.
smslib
.TimeoutException: No response from device.
原因:
1.端口长时间被占用
解决办法:
在一定时间之后及时的释放端口和资源
三、gnu.io.RXTXPort$SerialOutputStream.flush(RXTXPort.java:1231)
原因:
1.端口无法通讯,可能被占用了(常见)
2.SIM卡对某个指令返回慢过慢(少见)
解决办法:
1、确定没有其他程序在占用串口如:串口调试器程序;
2、 更换一张SIM卡再试试,再不源码去掉cops指令的设置;
四、org.smslib.GatewayException: Comm library exception: java.lang.RuntimeException: gnu.io.NoSuchPortException
原因:
win32com.dll和javax.comm.properties没有配置正确
解决办法:
正确的存储路径jdk\jre\bin\win32com.dll;jdk\jre\lib\javax.comm.properties
我由于测试的时候用到了comm.jar进行过,当同时部署的时候,也出现了这个问题,移除后解决
五、java.lang.UnsatisfiedLinkError: no win32com in java.library.path
按理说,你如果把win32com.dll放到JDK的/jre/lib/ext目录下,并把javax.comm.properties放到JDK的/jre/lib目录,把comm.jar放到你的工程的lib目录,是不会出现上述错误的,但是偶尔一次我要把发短信的后台程序做成windows服务,问题出来,就是找不到win32com,只用一招就把它搞定。呵呵,就是把win32com.dll放到JDK的/jre/bin目录下。
六、java.lang.NoClassDefFoundError: gnu/io/SerialPort(该错误出现在linxu下)
原因:
缺少jar包,RXTXcomm.jar
解决办法:
将RXTXcomm.jar放入到 jdk/jre/lib/ext下
七、java.lang.NoClassDefFoundError: Could not initialize class gnu.io.CommPortIdentifier(该错误出现在linxu下)
原因:
缺少文件,librxtxParallel.so
解决办法:
将librxtxParallel.so放入到jdk/jre/lib/i386 或者jdk/jre/lib/amd64下,不同的服务器可能目录名称略有不同
欢迎光临 深圳市未来时代科技有限公司 (http://inextera.com/)
Powered by Discuz! X3.1