lisai17@sina.com 2021-03-08 19:31:36 +08:00
parent f54734c197
commit 5bfea9b517
4 changed files with 103 additions and 92 deletions

View File

@ -59,47 +59,51 @@ public class KeLiScale extends AbsScale {
ArrayList<String> list = new ArrayList<>();
AtomicBoolean run = new AtomicBoolean(true);
InputStream inputStream = socket.getInputStream();
byte[] clearBuf = new byte[inputStream.available()];
inputStream.read(clearBuf);
int errCount = 0;
try (InputStream inputStream = socket.getInputStream()) {
byte[] clearBuf = new byte[inputStream.available()];
inputStream.read(clearBuf);
int errCount = 0;
while (run.get() && list.size() < 15) {
long st = System.currentTimeMillis();
while (run.get() && list.size() < 15) {
long st = System.currentTimeMillis();
byte[] buf = new byte[DATA_LENGTH];
int read = inputStream.read(buf);
byte[] buf = new byte[DATA_LENGTH];
int read = inputStream.read(buf);
if (read != DATA_LENGTH && errCount < 10) {
errCount++;
continue;
}
String weight = new String(Arrays.copyOfRange(buf, DATA_FROM, DATA_TO));
if (!pattern.matcher(weight).matches() || weight.equals("000000")) {
// System.out.println("error:" + weight);
if (errCount == 100) {
break;
}
errCount++;
continue;
}
try {
if (Long.parseLong(weight) > 100000) {
if (read != DATA_LENGTH && errCount < 10) {
errCount++;
continue;
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
String weight = new String(Arrays.copyOfRange(buf, DATA_FROM, DATA_TO));
if (!pattern.matcher(weight).matches() || weight.equals("000000")) {
// System.out.println("error:" + weight);
if (errCount == 100) {
break;
}
errCount++;
continue;
}
try {
if (Long.parseLong(weight) > 100000) {
errCount++;
continue;
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
// System.out.println("读一次耗时:" + (System.currentTimeMillis() - st) + ", " + Double.parseDouble(flip(weight)));
list.add(weight);
list.add(weight);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
String max = "0";
if (list.size() > 0) {
Map<String, Long> collect = list.stream().collect(

View File

@ -52,47 +52,51 @@ public class XiShuiScale extends AbsScale {
ArrayList<String> list = new ArrayList<>();
AtomicBoolean run = new AtomicBoolean(true);
InputStream inputStream = socket.getInputStream();
byte[] clearBuf = new byte[inputStream.available()];
inputStream.read(clearBuf);
int errCount = 0;
try (InputStream inputStream = socket.getInputStream()) {
byte[] clearBuf = new byte[inputStream.available()];
inputStream.read(clearBuf);
int errCount = 0;
while (run.get() && list.size() < 15) {
while (run.get() && list.size() < 15) {
// long st = System.currentTimeMillis();
byte[] buf = new byte[18];
int read = inputStream.read(buf);
byte[] buf = new byte[18];
int read = inputStream.read(buf);
if (read != 18 && errCount < 10) {
errCount++;
continue;
}
String weight = new String(Arrays.copyOfRange(buf, 4, 10));
if (!pattern.matcher(weight).matches() || weight.equals("000000")) {
// log.error("error weight: %s", weight);
if (errCount == 100) {
break;
}
errCount++;
continue;
}
try {
if (Long.parseLong(weight) > 100000) {
if (read != 18 && errCount < 10) {
errCount++;
continue;
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
String weight = new String(Arrays.copyOfRange(buf, 4, 10));
if (!pattern.matcher(weight).matches() || weight.equals("000000")) {
// log.error("error weight: %s", weight);
if (errCount == 100) {
break;
}
errCount++;
continue;
}
try {
if (Long.parseLong(weight) > 100000) {
errCount++;
continue;
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
// System.out.println("读一次耗时:" + (System.currentTimeMillis() - st) + ", " + Double.parseDouble(flip(weight)));
list.add(weight);
list.add(weight);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
String max = "0";
if (list.size() > 0) {
Map<String, Long> collect = list.stream().collect(

View File

@ -55,44 +55,47 @@ public class YaoHuaScale extends AbsScale {
ArrayList<String> list = new ArrayList<>();
AtomicBoolean run = new AtomicBoolean(true);
InputStream inputStream = socket.getInputStream();
byte[] clearBuf = new byte[inputStream.available()];
inputStream.read(clearBuf);
int errCount = 0;
try (InputStream inputStream = socket.getInputStream()) {
byte[] clearBuf = new byte[inputStream.available()];
inputStream.read(clearBuf);
int errCount = 0;
while (run.get() && list.size() < 15) {
long st = System.currentTimeMillis();
while (run.get() && list.size() < 15) {
long st = System.currentTimeMillis();
byte[] buf = new byte[12];
int read = inputStream.read(buf);
byte[] buf = new byte[12];
int read = inputStream.read(buf);
if (read != 18 && errCount < 10) {
errCount++;
continue;
}
String weight = new String(Arrays.copyOfRange(buf, 2, 8));
if (!pattern.matcher(weight).matches() || weight.equals("000000")) {
// System.out.println("error:" + weight);
if (errCount == 100) {
break;
}
errCount++;
continue;
}
try {
if (Long.parseLong(weight) > 100000) {
if (read != 18 && errCount < 10) {
errCount++;
continue;
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
String weight = new String(Arrays.copyOfRange(buf, 2, 8));
if (!pattern.matcher(weight).matches() || weight.equals("000000")) {
// System.out.println("error:" + weight);
if (errCount == 100) {
break;
}
errCount++;
continue;
}
try {
if (Long.parseLong(weight) > 100000) {
errCount++;
continue;
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
// System.out.println("读一次耗时:" + (System.currentTimeMillis() - st) + ", " + Double.parseDouble(flip(weight)));
list.add(weight);
list.add(weight);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
String max = "0";

View File

@ -95,7 +95,7 @@ public class Config extends JFinalConfig {
public static DeviceThread deviceThread = new DeviceThread();
public static SocketIOService socketio = null;
private static boolean client_run = true;
public static final String CLINET_VERSION = "20210307";
public static final String CLINET_VERSION = "20210308";
public static String getRootPath() {
return PathKit.getWebRootPath()