From 4852766718706c559a51913fc9629dbb8da306a6 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 08 十二月 2023 13:39:25 +0800 Subject: [PATCH] 添加备用IP地址 --- app/src/main/java/com/dayu/recharge/MyApplication.java | 124 +++++++++++++++++++++------------------- 1 files changed, 65 insertions(+), 59 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java index 41f25f0..615acbc 100644 --- a/app/src/main/java/com/dayu/recharge/MyApplication.java +++ b/app/src/main/java/com/dayu/recharge/MyApplication.java @@ -31,6 +31,7 @@ import com.dayu.recharge.utils.TipUtil; +import java.net.InetAddress; import java.util.Arrays; import java.util.Timer; import java.util.TimerTask; @@ -107,9 +108,13 @@ super.handleMessage(msg); switch (msg.what) { case 1: - createSocket(msg.obj + "", ipBean.getPort()); + createSocket(msg.obj + "", ipBean.getPort(), "0", 88); break; case 2: + InetAddress[] data = (InetAddress[]) msg.obj; + createSocket(data[0].getHostAddress(), ipBean.getPort(), data[1].getHostAddress(), ipBean.getPort()); + break; + case -1: ToastUtil.show("DNS瑙f瀽澶辫触"); break; } @@ -120,7 +125,7 @@ } else { //ip鏂瑰紡 if (EasySocket.getInstance().getContext() == null || isCreate) { - createSocket(ipBean.getIp(), ipBean.getPort()); + createSocket(ipBean.getIp(), ipBean.getPort(), "0", 88); } else { if (EasySocket.getInstance().getDefconnection() != null) { SocketAddress address = EasySocket.getInstance().getDefconnection().getOptions().getSocketAddress(); @@ -149,80 +154,80 @@ && !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("鍏呭�肩鐞嗘敞鍐屾姤鏂囨牎楠孋RC閿欒"); - } + } + }); + } else {//鏍¢獙CRC閿欒 + ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囨牎楠孋RC閿欒"); } + } - @Override - public void onSocketError(int code, String msg) { + @Override + public void onSocketError(int code, String msg) { - } - }); + } + }); - } } + } } - private void createSocket(String ip, int port) { + private void createSocket(String ip, int port, String backUpIp, int backUpPort) { // socket閰嶇疆 EasySocketOptions options = new EasySocketOptions.Builder() // 涓绘満鍦板潃锛岃濉啓鑷繁鐨処P鍦板潃锛屼互getString鐨勬柟寮忔槸涓轰簡闅愯棌浣滆�呰嚜宸辩殑IP鍦板潃 @@ -232,6 +237,7 @@ .setMaxWriteBytes(150) .setMaxReadBytes(150) .setRequestTimeout(5 * 1000) + .setBackupAddress(new SocketAddress(backUpIp, backUpPort)) .build(); // 鍒濆鍖� -- Gitblit v1.8.0