📄 devicesmsservice.java~22~
字号:
package com.gps.center.dataservice;
import java.lang.*;
import java.io.File;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import com.gps.center.baseclass.ParseData;
import java.util.Timer;
import java.io.*;
import com.gps.center.baseclass.MsgObj;
import java.util.TimerTask;
import com.gps.center.parsedata.SMSClient;
//短信服务器
public class DeviceSmsService extends ParseData implements Runnable {
private String SmsIp;//短信服务器IP
private int SmsPort;
private SMSClient SMSObj = new SMSClient();
public MsgObj msgobj;
private static boolean isRunning = false;
private final Timer smstimer = new Timer();
private final int smssecond = 10;
public DeviceSmsService() {
readxml();
}
public void run() {
timerStar();
}
public void timerStar() {
// boolean isRunning = false;
smstimer.schedule(new TimerTask() {//新任务
System.out.println("cccccccccccccccccccccccccccccccccccccccccccccccc");
public void run() {
if (!isRunning) {
SmsTask();
}
}
private void SmsTask() {
if (SMSObj.OpenSMS(SmsIp, SmsPort)) {
isRunning = true;
while (!SMSObj.ReadSMS().equalsIgnoreCase("0")) {
try {
String recivemsg = new String( (SMSObj.Content + "\r\n").getBytes("8859_1")).trim();
if (recivemsg.length() > 2) {
msgobj = new MsgObj();
//cMsgtype:1--TCPMSG,2--DEVICEUDPMSG,3--SMSMSG
//4--TCPSENDTODEVICE,5--UDPSENDTODEVICE,6--SMSSENDTODEVICE,7--TCPSENDTOTERMINAL,8--TCPRETURNTERMINAL
msgobj.cMsgType = SMSMSG;
msgobj.cMsg = recivemsg;
msgobj.cPhoneNum = SMSObj.Mobile;
addRecieveMsg(msgobj);
}
// isRunning = false;
}
catch (UnsupportedEncodingException ex) {
isRunning = false;
SMSObj.CloseSMS();
}
}
isRunning = false;
SMSObj.CloseSMS();
}
else {
isRunning = false;
System.out.println("OpenSMS err");
System.out.println("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv");
}
}
}
, 0, smssecond * 1000);
}
private void readxml() {
String strPort, strIp;
try {
//文件关联
// System.out.print("ggggggggggggggggggggggggggggggggggggggggggggggg\n");
File f = new File("CenterInfo.xml");
if (f.exists()) {
//建立工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//建立解析器
DocumentBuilder builder = factory.newDocumentBuilder();
//解析文档
Document doc = builder.parse(f);
//节点列表
NodeList nl = doc.getElementsByTagName("Center");
for (int i = 0; i < nl.getLength(); i++) {
//读取数据--字符串形式
strPort = (doc.getElementsByTagName("SmsPort").item(i).getFirstChild().
getNodeValue()).trim();
strIp = (doc.getElementsByTagName("SmsIp").item(i).getFirstChild().
getNodeValue()).trim();
try {
if (strPort.length() > 0) {
//转化为整形Port
SmsPort = Integer.parseInt(strPort);
System.out.println(SmsPort);
// System.out.println("ffffffffffffffffffffffffffffffffff");
}
else {
System.out.println("SmsPort err");
System.exit( -1);
}
if (strIp.length() > 0) {
SmsIp = strIp;
}
else {
System.out.println("SmsIp err");
System.exit( -1);
}
}
catch (Exception e) {
System.out.println("centerPort and MaxConnection err");
}
}
}
else {
System.out.println("no find file:CenterInfo.xml");
System.exit( -1);
}
}
catch (Exception e) {
e.printStackTrace();
System.exit( -1);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -