From af2cbc2a24b3724e7fc3e6b42e134b21a3144c75 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 17 二月 2022 15:33:19 +0800
Subject: [PATCH] 过滤掉非json数据不传给三方使用
---
HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java | 25 +++++++++++++++----------
1 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java
index 3f3c359..9bc8781 100644
--- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java
@@ -3,6 +3,7 @@
import com.hdl.sdk.common.utils.ByteUtils;
+import com.hdl.sdk.common.utils.LogUtils;
import com.hdl.sdk.common.utils.ThreadToolUtils;
import com.hdl.sdk.socket.SocketBoot;
import com.hdl.sdk.socket.SocketOptions;
@@ -15,6 +16,8 @@
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
+import java.net.SocketAddress;
+import java.net.StandardSocketOptions;
import java.util.ArrayList;
import java.util.List;
@@ -67,12 +70,14 @@
@Override
public void connect() throws Exception {
+
mSocket = getSocket();
- SocketOptions options = getOptions();
- mSocket.connect(new InetSocketAddress(ip, port));
+// SocketOptions options = getOptions();
+ mSocket.connect(new InetSocketAddress(ip, port), 3 * 1000);
mSocket.setTcpNoDelay(true);
mSocket.setReuseAddress(true);
- mSocket.setKeepAlive(true);
+// mSocket.setKeepAlive(true);
+ mSocket.setSoTimeout(20 * 1000);
tcpClientList.add(this);
}
@@ -103,8 +108,12 @@
public void onHandleResponse() throws Exception {
final InputStream stream = getInputStream();
if (stream != null && getOptions() != null) {
- int len=0;
- while ( (len=getInputStream().read(readBuffer)) != -1) {
+ while ( true) {
+ int len=getInputStream().read(readBuffer);
+ if(len<=0){
+ throw new Exception("鎺ユ敹寮傚父锛屾帴鏀舵暟鎹暱搴en="+len);
+ }
+
IHandleMessage handleMessage = getOptions().getHandleMessage();
if (handleMessage != null) {
byte []bytes = new byte[len];
@@ -120,14 +129,10 @@
public void sendMsg(byte[] msg) throws Exception {
final OutputStream outputStream = getOutStream();
if (outputStream != null && getOptions() != null) {
- try {
IHandleMessage handleMessage = getOptions().getHandleMessage();
handleMessage.write(handleMessage.write(msg));
- getOutStream().write(msg);
-
- } finally {
+ outputStream.write(msg);
outputStream.flush();
- }
}
}
--
Gitblit v1.8.0