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

📄 userlogin700.java

📁 用java写编写的一个GPS源代码请大家多多指教
💻 JAVA
字号:
package com.gps.center.parsedata;

import java.util.regex.Pattern;
import java.io.File;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.NodeList;
import org.w3c.dom.Document;
import java.net.InetAddress;
import java.net.*;
import com.gps.center.baseclass.MsgObj;
import com.gps.center.baseclass.ParseData;
import com.gps.center.baseclass.ParseInterface;
import com.gps.center.baseclass.HashObj;

public class UserLogin700 extends ParseData implements ParseInterface {
    private String[][] deviceID = null; //id,phonenum,type
    private String cPort = null;
    private String cIP = null;
//  private HashObj hashobj;
    public UserLogin700() {
        readxml();
    }

    public void ParseMsg(MsgObj msg) {
        parseTcpMsg(msg);
    }

    private void parseTcpMsg(MsgObj msg) {
        //更新hash
        HashObj hashobj = null;
        ParseInterface parseobj = null;
        //String[] deviceID = null;
        Pattern regex;
        regex = Pattern.compile("[,]");
        String[] reStr = regex.split(msg.cMsg);

        //使用XML
        //for (int i = 0; i < deviceID.length; i++) {
        for (int n = 4; n < reStr.length; n++) {
            //if (deviceID[i][0].trim().equals(reStr[n].trim())) {
            if (super.centerMap.containsKey(reStr[n])) {
                hashobj = (HashObj)super.centerMap.get(reStr[n]);
        if ( (hashobj.cTerminalKey.isValid()) & (hashobj.cTerminalTcpUsed)) {
                    if (!msg.cSelectionKey.equals(hashobj.cTerminalKey)) {
                        hashobj.cTerminalKey = msg.cSelectionKey;
                        String sendStr = new String(
                                "700,1,700+701+702+102");
                        msg.cMsgType = TCPRETURNTERMINAL;
                        msg.cMsg = sendStr;
                        super.addSendMsg(msg);
                    }
                } else {
                    hashobj.cTerminalKey = msg.cSelectionKey;
                    hashobj.cTerminalTcpUsed = true;
                    String sendStr = new String("700,1,700+701+702+102");
                    msg.cMsgType = TCPRETURNTERMINAL;
                    msg.cMsg = sendStr;
                    super.addSendMsg(msg);
                }
            } else {
                hashobj = new HashObj();
                hashobj.cTerminalKey = msg.cSelectionKey;
                hashobj.cTerminalTcpUsed = true;
                super.centerMap.put(reStr[n], hashobj);

                //让监控目标与中心联系
                //700,1,张三,123456
                //107,13901234567,京A-1234,张三,221.218.34.154:6666//        for (int j = 0; j < deviceID.length; j++)
                String deviceStr = new String("107," + reStr[n] +
                                              ",NULL," +
                                              reStr[2] + "," + cIP + ":" +
                                              cPort);
                MsgObj msgobj = new MsgObj();
                msgobj.cMsgType = SMSSENDTODEVICE;
                msgobj.cDeviceID = reStr[n]; //车台号码和ID一样
                msgobj.cPhoneNum = reStr[n];
                msgobj.cMsg = deviceStr;
                msgobj.cSelectionKey = msg.cSelectionKey;
                //super.addSendMsg(msgobj);

                //if (deviceID[i][2].equals("HC2000")) {
                if (super.classMap.containsKey("HC2000")) {
                    parseobj = (ParseInterface)super.classMap.get(
                            "HC2000");
                    String sendStr = new String("700,1,700+701+702+102");
                    msg.cMsgType = TCPRETURNTERMINAL;
                    msg.cMsg = sendStr;
                    super.addSendMsg(msg);
                    parseobj.ParseMsg(msgobj);
                }
                //}
                /*else if (deviceID[i][2].equals("HQGPRS")) { //添加别的类型的车台
                    if (super.classMap.containsKey("HQGPRS")) {
                        parseobj = (ParseInterface)super.classMap.get("HQGPRS");
                        System.out.println("700 HQGPRS class send :" +
                                           deviceStr);
                        parseobj.ParseMsg(msgobj);
                    }
                }

                //else{System.out.println("Qqqqqqqqqqqqqqqq");}
                //添加Msg到sendQueue
                //cMsgtype:1--TCPMSG,2--DEVICEUDPMSG,3--SMSMSG
                //4--TCPSENDTODEVICE,5--UDPSENDTODEVICE,6--SMSSENDTODEVICE,7--TCPSENDTOTERMINAL,8--TCPRETURNTERMINAL

                String queryStr = null;
                queryStr = super.DbServer.getUserPopedom(reStr[2]);

            }
            } */
            }
        }
    }

    private void readxml() {
        try {
            File f = new File("VehicleTable.xml");
            if (f.exists()) {
                DocumentBuilderFactory factory = DocumentBuilderFactory.
                                                 newInstance();
                DocumentBuilder builder = factory.newDocumentBuilder();
                Document doc = builder.parse(f);
                NodeList nl = doc.getElementsByTagName("Center");
                deviceID = new String[nl.getLength()][3];
                for (int i = 0; i < nl.getLength(); i++) {
                    deviceID[i][0] = new String((doc.getElementsByTagName(
                            "DeviceID").item(i).getFirstChild().getNodeValue()).
                                                trim());
                    deviceID[i][1] = new String((doc.getElementsByTagName(
                            "PhoneNum").item(i).getFirstChild().getNodeValue()).
                                                trim());
                    deviceID[i][2] = new String((doc.getElementsByTagName(
                            "DeviceType").item(i).getFirstChild().getNodeValue()).
                                                trim());
                }
            } else {
                System.out.println("no find file:VehicleTable.xml");
                System.exit( -1);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        try {
            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++) {
                    cIP = (doc.getElementsByTagName("CenterIP").
                           item(i).
                           getFirstChild().
                           getNodeValue()).trim();

                    cPort = (doc.getElementsByTagName("CenterPort").
                             item(i).
                             getFirstChild().
                             getNodeValue()).trim();
                }
            } else {
                System.out.println("no find file:CenterInfo.xml");
                System.exit( -1);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -