| | |
| | | import com.mode.BattTestRtData; |
| | | import com.mode.DeviceState; |
| | | import com.mode.ServiceModel; |
| | | import com.service.MyInteractionService; |
| | | import com.util.Com; |
| | | import com.util.ComFn; |
| | | import com.util.Ecb_Aes; |
| | |
| | | |
| | | ServiceModel returnmodel = new ServiceModel(); |
| | | |
| | | public MySocketClientThread(String server_ip){ |
| | | private static MySocketClientThread thread ; |
| | | public static MyInteractionService service = null; |
| | | |
| | | private MySocketClientThread(String server_ip){ |
| | | this.server_ip = server_ip; |
| | | battData = new BattRTData(); |
| | | testParam = new BattTestParam(); |
| | | testRtData = new BattTestRtData(); |
| | | |
| | | } |
| | | |
| | | public static MySocketClientThread createThread(String server_ip, MyInteractionService service){ |
| | | MySocketClientThread.service = service; |
| | | if(thread == null){ |
| | | thread = new MySocketClientThread(server_ip); |
| | | } |
| | | return thread; |
| | | } |
| | | |
| | | //获取当前正在运行的线程 |
| | | public static MySocketClientThread getNowThread(){ |
| | | return thread; |
| | | } |
| | | |
| | | /*********************************************************************************************/ |
| | |
| | | //bytebuffer_for_socket_RX.put((byte)in.read()); |
| | | } else { |
| | | rx_read_time_out++; |
| | | if((bytebuffer_for_socket_RX.position() >= 8) && (rx_read_time_out>10)){ |
| | | if((bytebuffer_for_socket_RX.position() >= 18) && (rx_read_time_out>10)){ |
| | | // res = true; |
| | | break; |
| | | } |
| | | if(rx_read_time_out > 220) { |
| | | if(rx_read_time_out > 300) { |
| | | break; |
| | | } |
| | | } |
| | |
| | | thread_run_flag = false; |
| | | } |
| | | } catch (IOException | InterruptedException e) { |
| | | model.code = 0; |
| | | thread_run_flag = false; |
| | | } finally { |
| | | if(!thread_run_flag){ |
| | |
| | | Gson gson = new Gson(); |
| | | BattTestParam param = gson.fromJson(model.msg,BattTestParam.class); |
| | | buffer = param.getByteBuffer(); |
| | | }else if(FBS_ComBase.CMD_RETURNMAIN == model.cmd){ |
| | | buffer = ByteBuffer.allocate(1); |
| | | buffer.order(ByteOrder.LITTLE_ENDIAN); |
| | | buffer.position(0); |
| | | buffer.put(FBS_ComBase.changeIntToByte(Integer.parseInt(model.msg))); |
| | | buffer.flip(); |
| | | } |
| | | return buffer; |
| | | } |
| | |
| | | if(true == m_FBS_Cmd.putByteBuffer(bf)) |
| | | { |
| | | |
| | | model.errcode = m_FBS_Cmd.RecState; |
| | | lastConTime = new Date(); |
| | | |
| | | //--------------------- 心跳包测试 ---------------------------------- |
| | |
| | | else if(FBS_ComBase.CMD_CHANGEBATT == m_FBS_Cmd.CMD) { |
| | | if(FBS_ComBase.RETURN_SUCCESS == m_FBS_Cmd.RecState) { |
| | | isSuccess = true; |
| | | //System.out.println("切换电池组成功"); |
| | | Log.e(TAG, "getDataFromCommBuf: 切换电池组成功"); |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | System.out.println("进入Android模式成功"); |
| | | } |
| | | } |
| | | |
| | | |
| | | //--------------------- 进入界面同步切换 ---------------------------------- |
| | | else if(FBS_ComBase.CMD_RETURNMAIN == m_FBS_Cmd.CMD) { |
| | | if(FBS_ComBase.RETURN_SUCCESS == m_FBS_Cmd.RecState) { |
| | | isSuccess = true; |
| | | System.out.println("切换界面成功"); |
| | | } |
| | | } |
| | | |
| | | //--------------------- 退出上位机控制 ---------------------------------- |
| | | else if(FBS_ComBase.CMD_EXITMACHINECONTROL == m_FBS_Cmd.CMD) { |
| | | if(FBS_ComBase.RETURN_SUCCESS == m_FBS_Cmd.RecState) { |
| | | isSuccess = true; |
| | | System.out.println("退出上位机控制"); |
| | | } |
| | | } |
| | | |
| | | //--------------------- 控制活化(启动/停止/暂停) ---------------------------------- |
| | | else if(FBS_ComBase.CMD_STARTHHTEST == m_FBS_Cmd.CMD || FBS_ComBase.CMD_PAUSEHHTEST == m_FBS_Cmd.CMD || FBS_ComBase.CMD_STOPHHTEST == m_FBS_Cmd.CMD) { |
| | | if(FBS_ComBase.RETURN_SUCCESS == m_FBS_Cmd.RecState) { |
| | | isSuccess = true; |
| | | System.out.println("启动/停止/暂停活化测试成功"); |
| | | } |
| | | } |
| | | } |
| | | return isSuccess; |
| | | } |
| | |
| | | }else{ |
| | | synchronized (socket){ |
| | | if (this.server_ip != null && server_ip.length() > 0){ |
| | | this.server_ip = server_ip; |
| | | flag = reConnectDevice(); |
| | | } |
| | | } |
| | |
| | | return false; |
| | | } |
| | | |
| | | //关闭socket连接 |
| | | public void closeConn(){ |
| | | if(this.socket != null){ |
| | | try { |
| | | this.socket.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //测试当前ip是否可以连接 |
| | | public boolean testSockConn(String server_ip){ |
| | | boolean flag = false; |