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 + -
显示快捷键?