开机连接失败后重新连接

sick传输不用后缀加回车
chongqing-yashichuangneng
LAPTOP-S9HJSOEB\昊天 3 years ago
parent 5fb1b59bed
commit 967440bc30

@ -110,6 +110,7 @@ public class InitService implements ApplicationRunner {
ksecNettyClient.createClient(ksec);
}catch (Exception e){
log.error("kesc connect error,url:{},port:{}",ksec.getIp(),ksec.getPort());
ksecNettyClient.reconnect(1);
}
}else {
log.error("ksec no config");

@ -88,29 +88,32 @@ public class SickSocket {
private static String read(InputStream inStream,String ip) throws IOException {
BufferedReader bd = new BufferedReader(new InputStreamReader(inStream));
StringBuilder stringBuilder = new StringBuilder();
FutureTask<StringBuilder> future = new FutureTask <>(()->{
StringBuilder bdString = new StringBuilder();
StringBuffer stringBuilder = new StringBuffer();
FutureTask<StringBuffer> future = new FutureTask <>(()->{
while (true) {
try {
bdString.append((char) bd.read());
stringBuilder.append((char) bd.read());
} catch (IOException exc) {
throw new RuntimeException(exc);
}
if (bdString.toString().contains("\\n") || bdString.toString().contains("\n")) {
if (stringBuilder.toString().contains("\\n") || stringBuilder.toString().contains("\n")) {
break;
}
}
return bdString;
return stringBuilder;
});
try {
new Thread(future).start();
stringBuilder = future.get(1000, TimeUnit.MILLISECONDS);
future.get(1000, TimeUnit.MILLISECONDS);
} catch (InterruptedException | ExecutionException | TimeoutException e) {
if("".equals(stringBuilder.toString())){
tcpLogger.error("sick 可以连接但发送返回存在问题,ip:{},info:{}", ip, e);
log.error("sick 可以连接但发送返回存在问题,ip:{},info:{}", ip, e);
throw new RuntimeException(e);
}else {
return stringBuilder.toString();
}
}
return stringBuilder.toString();
}

Loading…
Cancel
Save