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

📄 mapperclientapplet.java

📁 实现网络GPS定位车辆的位置
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                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 + -