framewebdatabase.java
来自「实现网络GPS定位车辆的位置」· Java 代码 · 共 865 行 · 第 1/3 页
JAVA
865 行
PrintWriter outWriter=new PrintWriter(tcpSocket.getOutputStream(),true);// outWriter.println("连接服务器成功!帐号 "+intNumber+".退出输入EXIT"); String in=""; in=inReader.readLine(); //System.out.println(in); sMsg=getTime()+in; String server="219.237.4.34"; ListGpsMessage.add(sMsg); PrintWriter outMessage=new PrintWriter(tcpSocket.getOutputStream(),true); while(!in.trim().equals("EXIT")){ outWriter.println("Echo ("+intNumber+"):"+in+tcpSocket.getLocalPort()); byte[] buffer = new byte[1024]; int bytesRead=0; String ss="";//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// try { in=inReader.readLine(); sMsg=getTime()+in; WriteFile(sMsg); ListGpsMessage.add(sMsg); String s; s=in.substring(0,1); //System.out.println(in); //System.out.println(s); //查询数据库 if (s.equals("0"))//查询历史轨迹 { //ObjectOutputStream outResult = new ObjectOutputStream(tcpSocket.getOutputStream()); s=in.substring(2,in.length()); Vector vTraceMessage = new Vector(); sMsg=getTime()+"查询历史轨迹"+s; System.out.println(sMsg); WriteFile(sMsg); ListGpsMessage.add(sMsg); System.out.print(s); vTraceMessage=getSearchResult(s); System.out.print(vTraceMessage.size()); outMessage.println(vTraceMessage.size()); String m_x=""; String m_y=""; String m_dec=""; String m_speed=""; String m_createdatime=""; int i; long j;//for (i=0;i<m_v.size()/2;i++) double[][] m_PointArrary= new double[1][vTraceMessage.size()]; for (i=0;i<vTraceMessage.size();i+=4) { m_x=vTraceMessage.elementAt(i).toString(); m_y=vTraceMessage.elementAt(i+1).toString(); m_speed=vTraceMessage.elementAt(i+2).toString(); m_createdatime=vTraceMessage.elementAt(i+3).toString(); outMessage.println(m_x+"$"+m_y+"$"+m_speed+"$"+m_createdatime); System.out.println("i="+i+"*"+m_x+"PPPPPP"+m_y); } System.out.println(i); //outResult.writeObject(getSearchResult(s)); } else if(s.equals("1"))//查询报警信息 { Vector vAlarmMessage = new Vector(); try{ java.sql.ResultSet RS = Stmt.executeQuery("select gpsmessage from gpsmessage where flag=0"); while(RS.next()){ vAlarmMessage.addElement(RS.getString("gpsmessage")); Stmt.execute("update gpsmessage set flag=1"); //System.out.println(RS.getString("gpsmessage")); } RS.close(); }catch(Exception e){ e.printStackTrace(); } String m_result="null"; if(vAlarmMessage.size()!=0) m_result=vAlarmMessage.elementAt(0).toString(); outMessage.println(m_result); } else if(s.equals("2"))//查询车辆信息 { Vector vCarInfo = new Vector(); s=in.substring(2,in.length()); vCarInfo=getSearchResultCarInfo(s); System.out.print(s); sMsg=getTime()+"查询车辆信息"+s; WriteFile(sMsg); ListGpsMessage.add(sMsg); //System.out.print(vCarInfo.size()); outMessage.println(vCarInfo.size()); // outMessage.println(10); for (int i=0;i<vCarInfo.size();i+=10) { String m_Name = vCarInfo.elementAt(i).toString(); String m_CarPlate = vCarInfo.elementAt(i+1).toString(); String m_Style = vCarInfo.elementAt(i+2).toString(); String m_Color = vCarInfo.elementAt(i+3).toString(); String m_Type = vCarInfo.elementAt(i+4).toString(); String m_SIMNum = vCarInfo.elementAt(i+5).toString(); String m_Latitude = vCarInfo.elementAt(i+6).toString(); String m_Longitude = vCarInfo.elementAt(i+7).toString(); String m_Speed = vCarInfo.elementAt(i+8).toString(); String m_Date = vCarInfo.elementAt(i+9).toString();// String m_registerdate = vCarInfo.elementAt(i+10).toString();// String m_latitude = vCarInfo.elementAt(i+11).toString();// String m_longitude = vCarInfo.elementAt(i+12).toString(); String m_Send=m_Name+"$"+m_CarPlate+"$"+m_Style+"$"+m_Color+"$"+m_Type+"$"+m_SIMNum+"$" +m_Latitude+"$"+m_Longitude+"$"+m_Speed+"$"+m_Date; // +m_registerdate+"$"+m_latitude+"$"+m_longitude ;// String m_Send="杨大大军$京BF2996$13522762403$富康$红$私家车$40.0607$116.57$11.100000000000001$19/11/04 12:11:09"; System.out.println(m_Send); outMessage.println(m_Send); ListGpsMessage.add(m_Send); }// String m_Send="军军$京BF2996$13522762403$富康$红$私家车$40.0607$116.57$11.1$19/11/04 12:11:09";// System.out.println(m_Send);// outMessage.println(m_Send);// ListGpsMessage.add(m_Send); } /* else if(s.equals("6")) { sMsg=getTime()+"接收报警信息"+in; ListGpsMessage.add(sMsg); //System.out.println(ss); Stmt.execute(in.substring(2,in.length())); } else if(s.equals("3")) { int port= 2588; try{ System.out.println ("Connecting to " +server); // 与服务器建立连接 Socket tcpSocketGps = new Socket(server, port); //超时1分30秒 tcpSocketGps.setSoTimeout(120000); //建立输入输出流 PrintStream outGps = new PrintStream( tcpSocketGps.getOutputStream()) ; DataInputStream inGps = new DataInputStream(tcpSocketGps.getInputStream());// outGps.println("*NUMYBS");// bytesRead=inGps.read(buffer);// String s = new String(buffer, 0, bytesRead); outGps.println(in); sMsg=getTime()+"连接到"+server+"发送"+in; ListGpsMessage.add(sMsg); bytesRead=inGps.read(buffer); ss = new String (buffer, 0, bytesRead); //System.out.println(ss); outGps.close(); inGps.close(); System.out.println("close the connection."); //关闭与服务器的连接 tcpSocketGps.close(); outWriter.println(ss); sMsg=getTime()+"从"+server+"接收"+in; ListGpsMessage.add(sMsg); sMsg=getTime()+ss+"已转发"; ListGpsMessage.add(sMsg); in=inReader.readLine(); } catch (Exception e ) { System.out.println (e); break; } }//end gpsmessage else if(s.equals("7"))//查询历史报警信息 { s=in.substring(2,in.length()); Vector vAlarmMessage = new Vector(); WriteFile(sMsg); ListGpsMessage.add(sMsg); System.out.print(s); vAlarmMessage=getAlarmResult(s); System.out.println(vAlarmMessage.size()); outMessage.println(vAlarmMessage.size()); for (int i=0;i<vAlarmMessage.size();i+=5) { String m_CARDID = vAlarmMessage.elementAt(i).toString(); System.out.println("database M_Cardid: "+m_CARDID); String m_USER_NAME = vAlarmMessage.elementAt(i+1).toString(); String m_CAR_NO = vAlarmMessage.elementAt(i+2).toString(); System.out.println("database fucking M_card_no : "+m_CAR_NO); String m_INFO_DATE = vAlarmMessage.elementAt(i+3).toString(); String m_ALERT_TYPE = vAlarmMessage.elementAt(i+4).toString(); System.out.println("fucking database m_ALERT_TYPE: "+m_ALERT_TYPE); //String m_ALERT_INFO=vAlarmMessage.elementAt(i+5).toString(); String m_AlarSend=m_CARDID+"$"+m_USER_NAME+"$"+m_CAR_NO+"$"+m_INFO_DATE+"$"+m_ALERT_TYPE;//+"$"+m_ALERT_INFO; outMessage.println(m_AlarSend); } } */ } catch(Exception e) { e.printStackTrace(); break; }//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// }// outWriter.println("BYE client ("+intNumber+")");// outMessage.close();// tcpSocket.close();// sMsg=getTime()+"断开"+server+"的连接"; ListGpsMessage.add(sMsg);// Conn.close();// System.out.println("client ("+intNumber+") closed"); }catch(Exception e){ System.out.println(e); } }//////////转换中文/////////////////////////////////////////////////////////////// public String convertToChinese(String chineseStr) { if(chineseStr != null) { try { chineseStr = new String(chineseStr.getBytes("ISO-8859-1"), "GBK"); } catch(Exception e) { e.printStackTrace(); } } return chineseStr; } /*////////////////////////////////////////////////////////////////////////////////////////////////// 初始化时查询数据库——得到车辆的详细信息///////////////////////////////////////////////////////////////////////////////////////////////////*/ public Vector getSearchResultCarInfo(String strSQL){ //strSQL="select * from track where carnumber='13801135733' and TO_CHAR(createdatime,'YYYY-MM-DD')='2003-06-24'"; Vector v = new Vector(); Vector Pos = new Vector(); String Msg=""; try{// System.out.println(strSQL); java.sql.ResultSet RS = Stmt.executeQuery(strSQL); while(RS.next()){ v.addElement(ConvertString(RS.getString("Name"))); v.addElement(ConvertString(RS.getString("CarPlate"))); v.addElement(ConvertString(RS.getString("SIMNum"))); v.addElement(ConvertString(RS.getString("Style"))); v.addElement(ConvertString(RS.getString("Color"))); v.addElement(ConvertString(RS.getString("Type"))); // System.out.println(RS.getString("cardid")+"*"+RS.getString("phoneno")+"*"); Msg=RS.getString("Msg"); if(Msg!=null){ Pos=getPosMessage(Msg); v.addElement(Pos.elementAt(0) );//Latitude v.addElement(Pos.elementAt(1) );//Longitude v.addElement(Pos.elementAt(2) );//Speed v.addElement(Pos.elementAt(3) );//Date } else{
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?