From d09bdcac6830afaad6e277fb558c16d2aa6187a7 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 14 十二月 2023 11:13:21 +0800
Subject: [PATCH] 卡标识码列表功能相关,可分辨设置不同类型卡标识码
---
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