From 7854e0b23289dded84351df97e89f0bc5bbedced Mon Sep 17 00:00:00 2001 From: linwl <304115325@qq.com> Date: Sat, 16 Jan 2021 10:41:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=BB=E5=8F=96=E7=9A=84?= =?UTF-8?q?=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dipperposition/common/SocketClient.java | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/telpo/dipperposition/common/SocketClient.java b/src/main/java/com/telpo/dipperposition/common/SocketClient.java index 5217a14..ebc3e5e 100644 --- a/src/main/java/com/telpo/dipperposition/common/SocketClient.java +++ b/src/main/java/com/telpo/dipperposition/common/SocketClient.java @@ -52,28 +52,35 @@ public class SocketClient { String reply=null; //输入流 InputStream is=socket.getInputStream(); - BufferedReader br=new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)); + //BufferedReader br=new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)); + ByteArrayOutputStream swapStream = new ByteArrayOutputStream(); + byte[] buff = new byte[100]; - StringBuffer ackResultBuf= new StringBuffer(); + //StringBuffer ackResultBuf= new StringBuffer(); //String ackHexOut = HexConvert.convertStringToHex(ackAckCheckRef); - reply=br.readLine(); - while(reply!=null){ - //log.debug("接收服务器的信息:"+reply); - //if (ackHexOut.equals(reply)) { - ackResultBuf.append(reply); - reply=br.readLine(); - // break; - //} +// reply=br.readLine(); +// while(reply!=null){ +// //log.debug("接收服务器的信息:"+reply); +// //if (ackHexOut.equals(reply)) { +// ackResultBuf.append(reply); +// reply=br.readLine(); +// // break; +// //} +// } + int rc = 0; + while ((rc = is.read(buff, 0, 100)) > 0) { + swapStream.write(buff, 0, rc); } + byte[] in2b = swapStream.toByteArray(); //String ackResult = HexConvert.convertHexToString(ackResultBuf.toString()); //4.关闭资源 - br.close(); + swapStream.close(); is.close(); pw.close(); os.close(); //log.debug(ackResult); - log.debug("接收服务器的信息:"+ackResultBuf.toString()); - return ackResultBuf.toString(); + log.debug("接收服务器的信息:"+in2b.toString()); + return in2b.toString(); } catch (IOException e) { log.error("Socket sendCmd Error:" + e.getMessage()); return null;