⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 devicesmsservice.java~22~

📁 用java写编写的一个GPS源代码请大家多多指教
💻 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 + -