这是发送代码,第一次可以成功,第二次显示链接失败,下面是控制台的打印信息,以及发送代码
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();
}
}
}