| | |
| | | |
| | | /** |
| | | * 初始化EasySocket |
| | | * |
| | | * @param isCreate 当前已连接服务器后是否重新连接 |
| | | * @param createBack |
| | | */ |
| | | public void initEasySocket(boolean isCreate, SocketNet.CreateBack createBack) { |
| | | try { |
| | |
| | | ipBean.setIp("dayuyanjiuyuan.top"); |
| | | ipBean.setPort(8888); |
| | | } |
| | | |
| | | if (ipBean != null) { |
| | | try { |
| | | //处理当连接上IP后修改ip不生效问题 |
| | |
| | | && !TextUtils.isEmpty(addressCode)) { |
| | | |
| | | Log.i("initMachineRequestBean", "开始注册设备"); |
| | | if (EasySocket.getInstance().getDefconnection() != null) { |
| | | isDoInitMachine = true; |
| | | InitMachineRequestBean initMachineRequestBean = new InitMachineRequestBean(); |
| | | initMachineRequestBean.setControl("01"); |
| | | //130107200008 112 青泉居委会 |
| | | initMachineRequestBean.setAddress(addressCode); |
| | | initMachineRequestBean.setXuLie(SocketUtil.getXuLie(this)); |
| | | initMachineRequestBean.setAFN("91"); |
| | | SocketNet.getInstance().sendTestMessage(initMachineRequestBean.pack(), new SocketCallBack() { |
| | | @Override |
| | | public void onSocketResponse(SocketData readData) { |
| | | if (EasySocket.getInstance().getDefconnection() != null) { |
| | | isDoInitMachine = true; |
| | | InitMachineRequestBean initMachineRequestBean = new InitMachineRequestBean(); |
| | | initMachineRequestBean.setControl("01"); |
| | | //130107200008 112 青泉居委会 |
| | | initMachineRequestBean.setAddress(addressCode); |
| | | initMachineRequestBean.setXuLie(SocketUtil.getXuLie(this)); |
| | | initMachineRequestBean.setAFN("91"); |
| | | SocketNet.getInstance().sendTestMessage(initMachineRequestBean.pack(), new SocketCallBack() { |
| | | @Override |
| | | public void onSocketResponse(SocketData readData) { |
| | | |
| | | if (CRC8.isCRC8(readData.getOriginDataBytes())) { |
| | | //校验CRC成功 |
| | | InitMachineBackBean initMachineBackBean = new InitMachineBackBean(); |
| | | String initCode = HexUtil.bytesToHex(Arrays.copyOfRange(readData.getBodyBytes(), 2, 18)); |
| | | //确认收到注册号报文 |
| | | ConfirmMachineRequestBean confirmMachineRequestBean = new ConfirmMachineRequestBean(); |
| | | confirmMachineRequestBean.setControl("01"); |
| | | //130107200008 112 青泉居委会 |
| | | confirmMachineRequestBean.setAddress(addressCode); |
| | | confirmMachineRequestBean.setXuLie(SocketUtil.getXuLie(MyApplication.this)); |
| | | confirmMachineRequestBean.setAFN("92"); |
| | | confirmMachineRequestBean.setInitCode(initCode); |
| | | Log.i("Socket", "确认注册报文"); |
| | | SocketNet.getInstance().sendTestMessage(confirmMachineRequestBean.pack(), new SocketCallBack() { |
| | | if (CRC8.isCRC8(readData.getOriginDataBytes())) { |
| | | //校验CRC成功 |
| | | InitMachineBackBean initMachineBackBean = new InitMachineBackBean(); |
| | | String initCode = HexUtil.bytesToHex(Arrays.copyOfRange(readData.getBodyBytes(), 2, 18)); |
| | | //确认收到注册号报文 |
| | | ConfirmMachineRequestBean confirmMachineRequestBean = new ConfirmMachineRequestBean(); |
| | | confirmMachineRequestBean.setControl("01"); |
| | | //130107200008 112 青泉居委会 |
| | | confirmMachineRequestBean.setAddress(addressCode); |
| | | confirmMachineRequestBean.setXuLie(SocketUtil.getXuLie(MyApplication.this)); |
| | | confirmMachineRequestBean.setAFN("92"); |
| | | confirmMachineRequestBean.setInitCode(initCode); |
| | | Log.i("Socket", "确认注册报文"); |
| | | SocketNet.getInstance().sendTestMessage(confirmMachineRequestBean.pack(), new SocketCallBack() { |
| | | |
| | | @Override |
| | | public void onSocketResponse(SocketData readData) { |
| | | isDoInitMachine = false; |
| | | if (CRC8.isCRC8(readData.getOriginDataBytes())) { |
| | | byte stateByte = readData.getBodyBytes()[2]; |
| | | String state = BcdUtil.bcdToStr(stateByte); |
| | | //BCD码00成功01失败(注册号不是服务器返回信息) |
| | | if (state.equalsIgnoreCase("00")) { |
| | | //保存设备注册号 |
| | | if (!TextUtils.isEmpty(initCode)){ |
| | | DeviceNumberUtils.setDeviceNumber(initCode); |
| | | } |
| | | Log.i(TAG, "onSuccess: 设备注册号:" + initCode); |
| | | // WSHelper.getInstance(MyApplication.this).put("initCode", initCode); |
| | | ToastUtil.show("充值管理注册报文获取成功"); |
| | | } else { |
| | | //校验CRC错误 |
| | | ToastUtil.show("确认收到注册报文状态失败"); |
| | | @Override |
| | | public void onSocketResponse(SocketData readData) { |
| | | isDoInitMachine = false; |
| | | if (CRC8.isCRC8(readData.getOriginDataBytes())) { |
| | | byte stateByte = readData.getBodyBytes()[2]; |
| | | String state = BcdUtil.bcdToStr(stateByte); |
| | | //BCD码00成功01失败(注册号不是服务器返回信息) |
| | | if (state.equalsIgnoreCase("00")) { |
| | | //保存设备注册号 |
| | | if (!TextUtils.isEmpty(initCode)) { |
| | | DeviceNumberUtils.setDeviceNumber(initCode); |
| | | } |
| | | Log.i(TAG, "onSuccess: 设备注册号:" + initCode); |
| | | // WSHelper.getInstance(MyApplication.this).put("initCode", initCode); |
| | | ToastUtil.show("充值管理注册报文获取成功"); |
| | | } else { |
| | | //校验CRC错误 |
| | | ToastUtil.show("确认收到注册报文校验CRC错误"); |
| | | // ToastUtil.show("确认收到注册报文状态失败"); |
| | | } |
| | | } else { |
| | | //校验CRC错误 |
| | | ToastUtil.show("确认收到注册报文校验CRC错误"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onSocketError(int code, String msg) { |
| | | @Override |
| | | public void onSocketError(int code, String msg) { |
| | | |
| | | } |
| | | }); |
| | | } else {//校验CRC错误 |
| | | ToastUtil.show("充值管理注册报文校验CRC错误"); |
| | | } |
| | | } |
| | | }); |
| | | } else {//校验CRC错误 |
| | | ToastUtil.show("充值管理注册报文校验CRC错误"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onSocketError(int code, String msg) { |
| | | @Override |
| | | public void onSocketError(int code, String msg) { |
| | | |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |