java发送短信 wavecom ,无法使用stopService() 方法

问题描述

大家好,现在我做了一个发短信的程序,使用的是wavecom。程序源码在XP系统上面运行的好好的,可以正常结束,可是在win7上却无法结束。我是在dos环境下运行的,在xp上运行完毕后,会恢复到可编辑状态,但是,在win7上面无法结束,问题是出在了stopService()方法上(因为最后一个输出是正常的)。不关闭当前dos,再新打开一个dos窗口,执行程序,程序会报异常,异常如下:org.smslib.GatewayException:Commlibraryexception:java.lang.reflect.InvocationTargetExceptionatorg.smslib.modem.SerialModemDriver.connectPort(SerialModemDriver.java:93)atorg.smslib.modem.AModemDriver.connect(AModemDriver.java:106)atorg.smslib.modem.ModemGateway.startGateway(ModemGateway.java:111)atorg.smslib.Service$1Starter.run(Service.java:227)

这个异常也不难理解,关键是我的stopService()方法为何不顶用呢?一直无法stop服务,下一次启动肯定会有异常。还有,这会不会是和我的某些软件冲突呢?我也没有开啥特殊的服务啊!这个大家有遇到的吗?谢谢!源码如下:importorg.smslib.IOutboundMessageNotification;importorg.smslib.Library;importorg.smslib.OutboundMessage;importorg.smslib.Service;importorg.smslib.Message.MessageEncodings;importorg.smslib.modem.SerialModemGateway;publicclassSendMessage{publicvoiddoIt(StringMobilePhoneNomber,StringSMSContent)throwsException{Servicesrv;OutboundMessagemsg;OutboundNotificationoutboundNotification=newOutboundNotification();System.out.println("Example:Sendmessagefromaserialgsmmodem.");System.out.println(Library.getLibraryDescription());System.out.println("Version:"+Library.getLibraryVersion());srv=newService();SerialModemGatewaygateway=newSerialModemGateway("modem.com4","COM4",9600,"wavecomModem","");//115200是波特率,一般为9600。可以通过超级终端测试出来,"17254"代表帧gateway.setInbound(true);gateway.setOutbound(true);gateway.setSimPin("0000");gateway.setOutboundNotification(outboundNotification);srv.addGateway(gateway);srv.startService();System.out.println("ModemInformation:");System.out.println("Manufacturer:"+gateway.getManufacturer());System.out.println("Model:"+gateway.getModel());System.out.println("SerialNo:"+gateway.getSerialNo());System.out.println("SIMIMSI:"+gateway.getImsi());System.out.println("SignalLevel:"+gateway.getSignalLevel()+"%");System.out.println("BatteryLevel:"+gateway.getBatteryLevel()+"%");System.out.println();msg=newOutboundMessage(MobilePhoneNomber,SMSContent);msg.setEncoding(MessageEncodings.ENCUCS2);//这句话是发中文短信必须的srv.sendMessage(msg);System.out.println(msg);System.out.println("NowSleeping-Hit<enter>toterminate.");srv.stopService();}publicclassOutboundNotificationimplementsIOutboundMessageNotification{publicvoidprocess(StringgatewayId,OutboundMessagemsg){System.out.println("OutboundhandlercalledfromGateway:"+gatewayId);System.out.println(msg);}}publicstaticvoidSend(StringMobilePhoneNomber,StringSMSContent){SendMessageapp=newSendMessage();try{app.doIt(MobilePhoneNomber,SMSContent);}catch(Exceptione){e.printStackTrace();}}publicstaticvoidmain(String[]args){SendMessage.Send("18800000000","新的一天,加油哦!");}}

解决方案

解决方案二:
有木有大牛知道呢?
解决方案三:
请问一下,这个问题,你解决了吗?我现在也遇见这个问题了,根本就srv.stopService();没有作用
解决方案四:
楼主,这个问题后来是怎么解决的呢??我也遇到了同样的问题
解决方案五:
输入回车么,没有读输入信息
解决方案六:
楼主这个问题解决了吗??我也遇到这种问题急求解决
解决方案七:
楼主,这个问题后来是怎么解决的呢??我也遇到了同样的问题急求解决

时间: 2024-12-06 01:20:38

java发送短信 wavecom ,无法使用stopService() 方法的相关文章

java发送短信系列之同步、异步发送短信_java

本篇本章是发送短信的第一部分, 说一下同步/异步发送短信的代码, 以后几篇我们稍微完善一下功能, 添加发送频率的限制和日发送次数的限制. 发送短信的方法可能不少, 我们的方法是使用服务商提供的服务. 一般来说, 这些服务都是和语言无关的, 这里我们使用java写示例程序.1.发送短信的接口 根据自己的情况选择服务商.2.开发文档 从开发文档中我们可以看到. 可以直接使用http请求也可以使用WebService请求发送短信. 由于DEMO文件夹下的java和jsp文件夹中的代码都是使用http请

java发送短信系列之限制发送频率_java

本篇是发送短信的第二部分, 这里我们介绍一下如何限制向同一个用户(根据手机号和ip)发送短信的频率. 1.使用session 如果是web程序, 那么在session中记录上次发送的时间也可以, 但是可以被绕过去. 最简单的, 直接重启浏览器 或者 清除cache等可以标记session的数据, 那么就可以绕过session中的记录. 虽然很多人都不是计算机专业的, 也没学过这些. 但是我们需要注意的是, 之所以限制发送频率, 是为了防止"短信炸弹", 也就是有人恶意的频繁的请求向某个

jQuery实现订单提交页发送短信功能前端处理方法_jquery

本文实例讲述了jQuery实现订单提交页发送短信功能前端处理方法.分享给大家供大家参考,具体如下: 1.效果如图所示: 2.html代码: <div class="indFpho" > <p>手机号码:</p> <p> <input type="text" name="telphone" id="telphone" value="{$order_info.cons

java使用短信设备发送sms短信的示例(java发送短信)_java

复制代码 代码如下: import gnu.io.*;import java.util.*;import java.io.*; public class CommTest{    static CommPortIdentifier portId;    static Enumeration portList;    static int bauds[] = { 9600, 19200, 57600, 115200 };    //检测端口所支持的波特率     public static voi

PHP发送短信代码分享_php技巧

方法一(比较好,推荐) //PHP发送短信 Monxin专用(PHP代码函数) //本代码基于Monxin 运行 //代码来源:Monxin ./config/functions.php function sms($config,$language,$pdo,$sender,$phone_number,$content){ //demo var_dump(sms(self::$config,self::$language,$pdo,"system","18074507509,

通过第三方接口发送短信验证码/短信通知(推荐)_java

需求:将首次交付密码为公共默认密码的方式改为点击入职功能,用短信方式发送系统自动生成的八位含数字.大小写字母和特殊符号生成的密码.短信发送服务由云通信http://www.yuntongxun.com/提供. 随机密码生成方法: /** * 生成随即密码 * @author chao.gao * @param pwd_len 生成的密码的总长度 * @return 密码的字符串 */ public static String genRandomNum(int pwd_len) { // Stri

C#开发终端式短信的原理和方法

简介 没发过短信的年轻人肯定是属于那种受保护的稀有动物,通讯发达的今天短信已经成为人们交流的重要手段,其中也蕴含着巨大的市场和经济利益,掌握短信技术的人才也受到各大公司的追捧是目前职场上耀眼的明星.本文介绍了短信的原理和实现方法,重点说明了短信的编码方式.AT指令以及用C#实现串口通讯的方法. 前言 目前,主有三种发送短信的方式: 1. 网关方式:就是向当地的电信部门申请,不需要额外的设备,适用于大型的通信公司,像华为.傲天.中兴.亚信等. 2. 终端方式:就是借助像GSM MODEM之类的设置

阿里大鱼简单发送短信功能.net core版_实用技巧

阿里大鱼还未提供 .net core 版SDK,但提供了相关API,下面是.net core版实现,只是简单发送短信功能:  using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Security.Cryptography; using System.Text; using Newtonsoft.Json; namespace ConsoleApp1 { pu

php发送短信验证码完成注册功能_php实例

短信验证码注册,很简单,用的是  云通讯的短信系统(收费的,不过有测试的api给我们做测试).好了,不多说,进入正题.  1.收到到云通讯短信系统注册账号,然后下载他们的封装好的短信api接口代码,解压,然后找到CCPRestSDK.php文件和SendTemplateSMS.php文件,将其拉到根目录文件夹里. 2.打开SendTemplateSMS.php文件,首先注意include_once('./CCPRestSDK.php'),千万别包含错路径了,将云通讯给的测试主账号,主账号Toke