|
|
|
|
@ -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();
|
|
|
|
|
}
|
|
|
|
|
|