<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Java后臺創建Socket服務接收硬件終端發送的數據

      最近項目中有遇到后臺接收硬件終端發送的數據并解析存儲的需求,代碼總結如下(有時間再來一一講解,最近比較忙):

      @Override
          public void start() {
              ExecutorService pool = Executors.newCachedThreadPool();
              try {
                  if (enable) {
                      return;
                  }
                  enable = true;
                  serverSocket=new ServerSocket(port);
                  Socket socket = null; 
                  BufferedInputStream reader = null;
                  BufferedOutputStream writer = null;
                  while (enable) {
                      try {
                          socket=serverSocket.accept();//阻塞方法
                          socket.setSoTimeout(100000);
                          
                          // start byte example
                          reader = new BufferedInputStream(socket.getInputStream());
                          writer = new BufferedOutputStream(socket.getOutputStream());
                          int totalChar = 84;
                          byte[] body = new byte[totalChar];
                          int len = reader.read(body, 0, 84);
                          if (len < totalChar) {
                              logger.error("收到包ERROR: " + new String(body, "UTF-8") + " 長度: " + len);
                              logger.info("收到包ERROR: " + ByteUtil.bytesToBit(body));
                              logger.info(ByteUtil.parseByte2HexStr(body));
                              if (null != socket && !socket.isClosed()) {
                                  socket.close();
                              }
                              continue;
                          } else {
                              logger.info("收到包: " + new String(body, "UTF-8"));
                              logger.info(ByteUtil.bytesToBit(body));
                              logger.info(ByteUtil.parseByte2HexStr(body));
                          }
                          
                          T409_car_collects dbcollect = new T409_car_collects(); //硬件數據存儲在這個對象中
                          
                          byte[] idBytes = new byte[17];
                          System.arraycopy(body, 0, idBytes, 0, 17);
                          String id = new String(idBytes);
                          dbcollect.setTerminalid(id);
      
      //TODO
      
      } catch (Exception e) {
                          logger.error("Parse socket error. ", e);
                          if (null != socket && !socket.isClosed()) {
                              socket.close();
                          }                    
                      }                            
                  }
              } catch (IOException e) {
                  logger.error("", e);
              } finally {
                  pool.shutdown();
              }
              
              
          }
      @Override
          public void stop() {
              enable = false;
              if (null != serverSocket && !serverSocket.isClosed()) {
                  try {
                      serverSocket.close();
                  } catch (IOException e) {
                      logger.error("close serverSocket err.", e);
                  }
              }
          }
          
          
          class Handler implements Runnable {
              private T409_car_collects collect;
              
              private Socket socket;
              
              Handler(T409_car_collects collect, Socket socket) {
                  this.collect = collect;
                  this.socket = socket;
              }
              
              @Override
              public void run() {
                  // TODO
                  System.out.println("serv handler: "+collect.getRemark());
      
                  logger.error(MessageFormat.format("Terminalid {0} is not exist.", collect.getTerminalid()));
      
                  T410_car_collects_log collect_log = new T410_car_collects_log();
                  BeanUtils.copyProperties(collect,collect_log);
                  BeanUtils.copyProperties(collect_log,collect);
                  t410_car_collects_logMapper.insertSelective(collect_log);
                  List<T409_car_collects> ext = carownerService.getcar_runningdatabyterminalid(collect.getTerminalid());                
                  if(ext ==null ){
                      t409_car_collectsMapper.insertSelective(collect);
                  }else{
                      collect.setId(ext.get(0).getId());
                      Date now = new Date(); 
                      collect.setUpdatetime(now);
                      t409_car_collectsMapper.updateByPrimaryKeySelective(collect);
                  }
                  
                  try {
                      PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"),true);
                      pw.println("back to client.");
                      pw.flush();
                  } catch (Exception e) {
                      logger.error("send back socket client err.", e);
                  } finally {
                      try {
                          socket.close();
                      } catch (IOException e) {
                          logger.error("close socket err.", e);
                      }
                  }
              }
              
          }

       

      posted @ 2019-06-22 19:26  豆腐魚  閱讀(3685)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产极品尤物免费在线| 特级做a爰片毛片免费看无码 | 人成午夜大片免费视频77777| 精品人妻一区二区| 国产老熟女无套内射不卡| 性xxxx欧美老妇胖老太性多毛| 亚洲av中文一区二区| 双乳奶水饱满少妇呻吟免费看| 少妇又爽又刺激视频| 一本色道婷婷久久欧美| 挺进粗大尤物人妻中文字幕| 欧美一区二区三区成人久久片| 无码免费大香伊蕉在人线国产 | 日韩少妇人妻vs中文字幕| 国产精品亚洲一区二区z| 国产成人精品手机在线观看| 人妻内射一区二区在线视频 | 在线观看国产成人av片| 亚洲欧美综合在线天堂| 桐庐县| 亚洲精品一区国产欧美| 丁香五月亚洲综合在线国内自拍 | 人妻中文字幕不卡精品| 北岛玲中文字幕人妻系列| 大地资源高清播放在线观看| 越南毛茸茸的少妇| 蜜桃在线一区二区三区| 精品亚洲精品日韩精品| 久久久亚洲欧洲日产国码αv| 久99久热免费视频播放| 国产一区在线观看不卡| 国产成人精彩在线视频| 女同亚洲精品一区二区三| 精品人妻少妇一区二区三区| 日韩无人区码卡1卡2卡| 狠狠精品久久久无码中文字幕| 四虎永久免费高清视频| 大又大又粗又硬又爽少妇毛片| 吉川爱美一区二区三区视频| 久久人人爽人人爽人人av| 国自产拍偷拍精品啪啪模特|