黄金棋牌游戏

北京同创电子卡发短信设备专营店欢迎您!我们将为您提供质优价廉的短信设备、卡池设备、短信收发验证码设备。

【卡发短信设备】3g_4g_5g_卡池_价格_收发短信验证码-北京同创电子

北京同创电子4g/5g全网通短信设备10年短信设备生产、销售经验质量稳定价格优惠

全国咨询热线

139-1113-9197
当前位置:主页»新闻动态»常见问题解答»

java开发短信设备常见几种问题和解决办法

文章出处:http://www。5gmaochi。cn/ 人气:发表时间:2019-08-10 09:22
短信设备开发有很多种方式,其中java开发是最普遍和常用的,用java开发短信设备,其中有自带的二次开发短信包,以下是java开发常见的几种问题总结,希望能帮到你们.
 
首先,把smslib-3.3.0b2.jar和comm.jar,放入工程lib中,javax.comm.properties放到%JAVA_HOME%/jre/lib下,
win32com.dll放到%JAVA_HOME%/jre/bin下。路径放错了,调用起来就会报错的。
 
但是了我的系统是64位的,查了下百度win32com.dll只适应于jdk32位的版本。而64位的需要使用rxtx,幸好网上有这种包下载。
 
Windows
----------------------------------------------------
 
Choose your binary build - x64 or x86 (based on which version of
the JVM you are installing to)
 
NOTE: You MUST match your architecture。 You can't install the i386
version on a 64-bit version of the JDK and vice-versa.
 
For a JDK installation:
 
Copy RXTXcomm.jar ---> <JAVA_HOME>\jre\lib\ext
Copy rxtxSerial。dll ---> <JAVA_HOME>\jre\bin
Copy rxtxParallel.dll ---> <JAVA_HOME>\jre\bin
 
按照这样配置好文件,准备工作完成。
 
由于我是用myEclipse开发的,smslib.jar手动加到项目lib下导入jar包,发现这样,Maven Install的时候老是找不到smslib包,所以如果是Maven项目,还是在pom.xml中配置更为稳妥。
 
<!-- https://mvnrepository.com/artifact/org.smslib/smslib -->
<dependency>
<groupId>org.smslib</groupId>
<artifactId>smslib</artifactId>
<version>3.5.4</version>
</dependency>
 
把测试代码跑起来时,老是出现版本不对的情况。因为我的MyEclipse有2个Tomcat,所以windows-perference-MyEclipse-Service-Tomcat-jdk配置的jdk跟我运行项目的jdk配置没有关系。而我Tomcat跑的jdk版本是1。6的,而项目编译是1。7的。
 
真是醉了,查了好久的。真是作死啊搞什么2个tomcat,后面我在加了一个tomcat,这个tomcat运行的jdk是我本机安装的jdk版本1.7的。把所有对应jdk版本路径改成这个,终于成功了。
 
可发了一条短信后,第2条短信就报错了,java.lang.RuntimeException: javax.comm.PortInUseException:说的是端口被占用了。
 
解决方法是:service。removeGateway(gateway);增加这行代码。然后就可以连续发送了,造成只发送一条短信的原因:我查了下是说不短信设备不能通过程序停止,也不知道是不是,呵呵
 
好了到此为止可能以为已经好了,结果把项目部署到服务器上后,发现短信又发送不出来了,我了个去。有没有疯了的感觉!想想代码是一样的,那么出错的肯定是环境了,难道又是系统的原因。纠结!
 
又花了几个小时时间去找原因,联想到第4步是因为jdk版本的问题而不能发送短信。那么会不 会是jdk版本的原因了,查了下版本是1.7的,那么就没错了。然后看了下服务器安装tomcat时带有jdk的路径一看C:\Program Files\Java\jre7。
 
想了下是不是文件应该配置到jre7中的bin和lib包下了,于是尝试了下,果然是这个问题。

推荐产品