📄 userlogin700.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 + -