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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!