2 u011429026 u011429026 于 2016.03.02 11:57 提问

jsmsengine收发短信,第一次发送成功,第二次失败。

这是发送代码,第一次可以成功,第二次显示链接失败,下面是控制台的打印信息,以及发送代码

public class MsgService
{
private static CService cs = new CService("com3", 9600);
private static int num = 1;

public static void init(String port, Integer fm)
{
    // 指定端口号和频率
    cs = new CService(port, fm);
}

/**
 * 发送短信
 * 
 * @param phone
 *            手机号
 * @param info
 *            短信内容
 */
public static void sendmsg(String phone, String info)
{
    try
    {
        System.out.println("正在发送短信");
            System.out.println("初始化服务。。。。");
            // 初始化连接
            cs.initialize();
            // 设置jSMSEngine服务的缓存
            System.out.println("设置缓存。。。。");
            cs.setCacheDir(".\\");

        // 连接
        int status = 0;
        if (num==1) {
            status = cs.connect();
        }else{
            status = 0;
        }
        System.out.println("连接"+status);
        System.out.println("对比值"+CService.ERR_OK);
        // 连接成功(可以是GSM Modem、带有红外线、蓝牙、数据线的手机)
        if (status == CService.ERR_OK)
        {
            cs.setOperationMode(CService.MODE_PDU);
            cs.setSmscNumber("");
            COutgoingMessage msg = new COutgoingMessage(phone, info);
            msg.setMessageEncoding(CMessage.MESSAGE_ENCODING_UNICODE);
            if (cs.sendMessage(msg) == CService.ERR_OK)
            {
                System.out.println("给" + phone + "发送短信成功!");
                //num++;
            } else
            {
                System.out.println("给" + phone + "发送短信失败!");
            }
            // 断开连接
            cs.disconnect();
            System.out.println("断开连接");
        } else
        {
            System.out.println("连接设备失败, 异常: " + status);
        }
    } catch (Exception e)
    {
        e.printStackTrace();
    }
}

}

1个回答

caozhy
caozhy   Ds   Rxr 2016.03.08 12:14

去掉cs.disconnect();看看呢

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ajax调用第一次成功,以后均失败之解决办法
<br />第一次调用ajax成功,以后不论点击多少次,均失效,打断点跳不到后台里。<br /> <br />原因:IE内核的浏览器会自动缓存异步通信处理结果,第一次ajax请求已经被高速缓存,若第二次点击(请求),IE浏览器会认为这是同一个请求,由于第一次请求已经得到了响应,因此不会再响应第二次、第三次...的请求。解决办法:保证每次异步请求的url地址都不相同,即唯一标识每一次请求。具体的解决方案可以在url添加一个参数,参数的值=new Data().getTime(). 即可达到目的。
Java socke编程 读取信息信息发生阻塞的解决方法
1、该socket联网工具类会导致读取服务端的数据发生阻塞 public class ConnectToServer { private static boolean D=true; private static InputStream mInputStream; private static OutputStream mOutputStream; public ConnectToSe
Android--判断发送短信后的状态/发送成功Or发送失败
相信用过诺基亚手机的朋友可能会记得,在短信发送之后,手机会显示发送手机的状态,Android同样也提供了相应的功能,而且实现这个功能的方法也很简单。 首先,我们需要在程序中注册两个权限: 1.接收短信的权限 2.发送短信的权限 [html] view plaincopyprint? uses-permission andro
关于微信支付第一次成功,后面就不成功的坑。。。。
关于微信支付第一次成功,后面就不成功的坑。。。。所以在这里mark一下,,, 这是我挑起微信支付的代码 IWXAPI mWxApi= WXAPIFactory.createWXAPI(PurseExchargeActicity.this,wXpay.getAppid(),true); mWxApi.registerApp(wXpay.getAppid()); //挑起微信支付,设置参数 P
http请求诡异问题
最近项目上需要和一家银行做银企互联相关的工作,碰到个非常怪异的问题,连续两次发送http post请求,第一次请求正常,第二次请求银行系统阻塞一直无响应,一直等到我方客户端设置的超时时间,造成请求失败。 由于对方文档没有给出特别详细的说明,对方使用的http协议的版本(1.0 or 1.1)、是否支持持久连接等问题都不是很清楚,然后是进行了各种尝试,我方客户端默认使用持久连接,然后改为短连接后仍
android短信发送和接受
短信发送发短信第一件事是在manifest文件中添加权限<uses-permission android:name="android.permission.SEND_SMS" /> 第一方法:调用系统发短信的应用 /** * 调起系统功能发短信 * @param phoneNumber * @param message
Android信息发送
 SmsManager.getDefault().sendTextMessage(&quot;电话号码&quot;,&quot;短信中心地址&quot;,&quot;发送内容&quot;,&quot;发送意图&quot;,&quot;接收意图&quot;);发短信第一件事是在manifest文件中添加权限&amp;lt;uses-permission android:name=&quot;android.permission.SEND_SMS&quot; /&amp;gt; 1第一方法:调用系统发短信的应用
SSH项目只能第一次插入数据成功,第二次报错的问题
今天在做SSH整合实现后台发布系统时发现一个问题: 启动项目后,正常插入数据,插入成功,但是第二次插入时候报错(没有重新启动项目,只是刷新网页),报错详情如下: 检查后发现在action中没有加入@Scope("prototype") @Scope("prototype")的意思是每次都会创建一个新的action,这样就不会有冲突了 如果不加这句话,那么像我上面这样刷新页面想再次插
Android:微信开发问题:errCode = -1 第二次支付失败
问题描述 1.errCode返回值为-1 2.第一次支付成功,第二次支付失败解决方法 将APP打包,同时生成签名文件.jks在手机上安装有签名的APK使用微信的工具获取签名 签名工具下载址: https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk修改微信开发平台的
android实现短信的收发及发送、接收报告的提示
android实现短信的发送:并广播接收发送状态报告及对方接收状态报告。 android实现短信的发送。