📄 mapperclientapplet.java
字号:
bytesRead=in.read(buffer);
}
}
else if(m_tool == Clear_Operat_TOOL){
// m_SIMNum="13611203226";
m_Call="3#"+"$"+"解除"+"$"+ CarPlate +"$"+ m_CarNum +"$"+ m_username +"$"+ Tel + ":*R#";
System.out.println(m_Call);
out.println(m_Call);
lCarStatus.setText("解除熄火 :" + m_CarNum);
// }
bytesRead=in.read(buffer);
for(i=0;i<4;i++)//取几次,排除错误信息
{String d="";
s= new String(buffer, 0, bytesRead);
System.out.println(s);
d=s.substring(12,13);
if (d.equals("D") )//如果是车辆经纬度信息
{
break;
}
bytesRead=in.read(buffer);
}
}
else if(m_tool == StopAlarm_TOOL)
{
m_Call="4#"+ Tel + ":*R#";
System.out.println(m_Call);
out.println(m_Call);
bytesRead=in.read(buffer);
for(i=0;i<4;i++)//取几次,排除错误信息
{String d="";
s= new String(buffer, 0, bytesRead);
System.out.println(s);
d=s.substring(12,13);
if (d.equals("D") )//如果是车辆经纬度信息
{
break;
}
bytesRead=in.read(buffer);
}
}
out.close();
in.close();
tcpSocket.close() ;
return s;
}
catch (Exception e )
{
System.out.println (e);
return "null";
}
}
}
//////////end of tcpserverThread
/*//////////////////////////////////////////////////////////////////////////////////////////////////
车辆轨迹回放的线程。连接WebGps服务得到GPS车辆信息字符串,根据车辆经度,纬度,显示车辆信息
///////////////////////////////////////////////////////////////////////////////////////////////////*/
class tcpServerTraceThread extends Thread{
private String Sql;
public String in_str;
JLabel lCarStatus = new JLabel();
MCanvas m_map;
private String m_tool="0";
String myurl;
String m_tel;
public tcpServerTraceThread(String tel,String m_Sql,JLabel m_lCarStatus,String url,MCanvas m_mapx)
{
m_tel=tel;
Sql=m_Sql;
myurl=url;
m_map=m_mapx;
lCarStatus=m_lCarStatus;
}
public void run(){
try{
ReturnS("");
}catch(Exception e){
System.out.println(e);
}
}
/*//////////////////////////////////////////////////////////////////////////////////////////////////
在线程中,画地图,连接servelet得到images画地图
///////////////////////////////////////////////////////////////////////////////////////////////////*/
void adjustMap(String url)
{
try
{
//even a checker board can never be bigger then 2 x width and height
byte[] img = new byte[m_map.getPreferredSize().width * m_map.getPreferredSize().height * 2];
//url=m_servletName;
URL mapServer = new URL(url);
URLConnection con = mapServer.openConnection();
System.out.println("url: " + mapServer);
DataInputStream in = new DataInputStream(con.getInputStream());
try
{
in.readFully(img);
}
catch (EOFException ei)
{
}
in.close();
m_map.setImage(getToolkit().createImage(img));
//m_map.repaint();
m_map.update(m_map.getGraphics());
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
/*//////////////////////////////////////////////////////////////////////////////////////////////////
在线程中与连接WebGps Socket服务得到GPS车辆信息字符串,
///////////////////////////////////////////////////////////////////////////////////////////////////*/
public Vector ReturnS(String Tel)
{
String s="";
int bytesRead;
long i;
Vector v = new Vector();
Socket tcpSocket;
try{
//服务器地址
String server="219.237.4.34";
int port= 6688;
System.out.println ("Connecting to " +server);
// 与服务器建立连接
tcpSocket = new Socket(InetAddress.getByName(server), port);
//超时限制
tcpSocket.setSoTimeout(120000);
//建立输入输出流
PrintStream out = new PrintStream( tcpSocket.getOutputStream()) ;
DataInputStream in = new DataInputStream(tcpSocket.getInputStream());
//连接初试化
out.println("TraceMessage");
String m_TraceMessage="";
m_TraceMessage= in.readLine(); //new String(buffer, 0, bytesRead);
System.out.println(m_TraceMessage);
//发送轨迹Sql
out.println(Sql);
String m_Trace= in.readLine();
//System.out.println(m_Trace+"P");
int m_count = Integer.valueOf(m_Trace).intValue();
m_count=m_count/4;
//System.out.println("xy=:"+m_count);
if (m_count >0)
{
for (i = 0; i < m_count; i++) {
if(i==1)
{
m_TraceMessage = in.readLine();
int index1 = m_TraceMessage.indexOf("$");
mym_x = m_TraceMessage.substring(0, index1);
int index2 = m_TraceMessage.indexOf("$", index1 + 1);
mym_y = m_TraceMessage.substring(index1 + 1, index2);
}
m_TraceMessage = in.readLine();
int index1 = m_TraceMessage.indexOf("$");
String m_x = m_TraceMessage.substring(0, index1);
int index2 = m_TraceMessage.indexOf("$", index1 + 1);
String m_y = m_TraceMessage.substring(index1 + 1, index2);
int index3 = m_TraceMessage.indexOf("$", index2 + 1);
DecimalFormat nf = new DecimalFormat("##0.##");
//double speed =( Double.parseDouble(m_speed)));
String m_speed = m_TraceMessage.substring(index2 + 1, index3);
double speed =( Double.parseDouble(m_speed));
m_speed =nf.format(speed);
//int index4 =m_TraceMessage.indexOf("$",index3+1);
String m_createdatime = m_TraceMessage.substring(index3 + 1,
m_TraceMessage.length());
//int index5 =m_TraceMessage.indexOf("$",index4+1);
//String m_Carlicenceno = m_TraceMessage.substring(index4+1,m_TraceMessage.length());
//System.out.println("i="+i+"*"+m_TraceMessage.substring(0,j)+"PPP"+m_TraceMessage.substring(j+1,m_TraceMessage.length()));
//System.out.println("i=" + i + "*" + m_speed + "PPP" + m_createdatime);
String url = myurl + "&m_tel=" + m_tel + "&m_count=" + i + "&m_x=" +
m_x + "&m_y=" + m_y;
String sCarStatus = "车辆: " + m_SIMNum + " 经度" + m_x + " 纬度" + m_y +
" 速度" + m_speed + " 公里/小时" + " 时间" + m_createdatime;
//ListCarInfomation.add(sCarStatus);
lCarStatus.setText(sCarStatus);
adjustMap(url);
sleep(100);
if (TraceFlag == true) {
this.stop();
}
//System.out.println(m_TraceMessage);
}
}
else
{
lCarStatus.setText("车辆: "+m_tel+"没有轨迹记录");
}
//v = (Vector)in.readObject();
out.println("EXIT");
in.close();
out.close();
tcpSocket.close() ;
return v;
}
catch (Exception e )
{
System.out.println (e);
return v;
}
}
}
/*//////////////////////////////////////////////////////////////////////////////////////////////////
报警历史记录查询线程。连接WebGps服务得到车辆历史报警记录
///////////////////////////////////////////////////////////////////////////////////////////////////*/
class tcpServerFindAlarmThread extends Thread{
private String Sql;
public String in_str;
Label lCarStatus = new Label();
MCanvas m_map;
private String m_tool="0";
String myurl;
String m_tel;
public tcpServerFindAlarmThread(String tel,String m_Sql,Label m_lCarStatus,String url,MCanvas m_mapx){
m_tel=tel;
Sql=m_Sql;
myurl=url;
m_map=m_mapx;
lCarStatus=m_lCarStatus;
}
public void run(){
try{
this.ReturnS("");
}catch(Exception e){
System.out.println(e);
}
}
/*//////////////////////////////////////////////////////////////////////////////////////////////////
在线程中,画地图,连接servelet得到images画地图
///////////////////////////////////////////////////////////////////////////////////////////////////*/
/*//////////////////////////////////////////////////////////////////////////////////////////////////
在线程中与连接WebGps Socket服务得到GPS车辆报警记录
///////////////////////////////////////////////////////////////////////////////////////////////////*/
public Vector ReturnS(String Tel)
{
String s="";
int bytesRead;
long i;
Vector v = new Vector();
Socket tcpSocket;
try{
//服务器地址
String server="219.237.4.34";
//String server="192.168.0.176";
//断口号
int port= 6688;
System.out.println ("Connecting to " +server);
// 与服务器建立连接
tcpSocket = new Socket(InetAddress.getByName(server), port);
//超时限制
tcpSocket.setSoTimeout(360000);
//建立输入输出流
PrintStream out = new PrintStream( tcpSocket.getOutputStream()) ;
DataInputStream in = new DataInputStream(tcpSocket.getInputStream());
//连接初试化
out.println("FindAlarmMessage");
String m_AlertMessage="";
m_AlertMessage= in.readLine(); //new String(buffer, 0, bytesRead);
System.out.println(m_AlertMessage);
//发送轨迹Sql
out.println(Sql);
String m_Alarm= in.readLine();
System.out.println(m_Alarm+"P");
int m_count = Integer.valueOf(m_Alarm).intValue();
m_count=m_count/5;
String row[]=new String[5];
int j=0;
//System.out.println("xy=:"+m_count);
if (m_count >0)
{
for (i = 0; i < m_count; i++) {
j=0;
m_AlertMessage= convertToChinese(in.readLine());
//m_AlertMessage = in.readLine();
int index1 = m_AlertMessage.indexOf("$");
m_cardid = m_AlertMessage.substring(0, index1);
row[j++]=m_cardid;
System.out.println(m_cardid);
int index2 = m_AlertMessage.indexOf("$", index1 + 1);
String m_username = m_AlertMessage.substring(index1 + 1, index2);
row[j++]=m_username;
System.out.println(m_username);
int index3 = m_AlertMessage.indexOf("$", index2 + 1);
String m_Car_no = m_AlertMessage.substring(index2 + 1, index3);
row[j++]=m_Car_no;
System.out.println(m_Car_no);
//DecimalFormat nf = new DecimalFormat("##0.##");
//double speed =( Double.parseDouble(m_speed)));
int index4 = m_AlertMessage.indexOf("$", index3 + 1);
String m_info_date = m_AlertMessage.substring(index3 + 1, index4);
row[j++]=m_info_date;
System.out.println(m_info_date);
//String m_speed = m_TraceMessage.substring(index2 + 1, index3);
//double speed =( Double.parseDouble(m_speed));
//m_speed =nf.format(speed);
//int index4 =m_TraceMessage.indexOf("$",index3+1);
String m_alert_type = m_AlertMessage.substring(index4 + 1,
m_AlertMessage.length());
row[j++]=m_alert_type;
System.out.println(m_alert_type);
m_DlgFindAlarm.tableModel.addRow(row);
//int index5 =m_TraceMessage.indexOf("$",index4+1);
//String m_Carlicenceno = m_TraceMessage.substring(index4+1,m_TraceMessage.length());
//System.out.println("i="+i+"*"+m_TraceMessage.substring(0,j)+"PPP"+m_TraceMessage.substring(j+1,m_TraceMessage.length()));
//System.out.println("i=" + i + "*" + m_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -