hxb
2021-12-07 1781ea87dbc71b48a2af5af907a2120d9596ab11
HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java
@@ -2,6 +2,7 @@
import com.hdl.sdk.common.utils.ByteUtils;
import com.hdl.sdk.common.utils.ThreadToolUtils;
import com.hdl.sdk.socket.SocketBoot;
import com.hdl.sdk.socket.SocketOptions;
@@ -14,7 +15,6 @@
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.util.Arrays;
import java.util.List;
@@ -22,6 +22,7 @@
 * Created by Tong on 2021/9/15.
 */
public final class TcpClient implements IClient {
    private SocketOptions socketOptions;
@@ -87,15 +88,15 @@
    @Override
    public void onHandleResponse() throws Exception {
        final InputStream stream = getInputStream();
        if (stream != null && getOptions() != null) {
            readBuffer = new byte[1024];
            int len;
            while ((len = getInputStream().read(readBuffer)) != -1) {
            int len=0;
            while ( (len=getInputStream().read(readBuffer)) != -1) {
                IHandleMessage handleMessage = getOptions().getHandleMessage();
                if (handleMessage != null && len > 0) {
                    handleMessage.read(Arrays.copyOfRange(readBuffer, 0, len));
//                    handleMessage.read(readBuffer);
                if (handleMessage != null) {
                    byte []bytes = new byte[len];
                    System.arraycopy(readBuffer,0,bytes,0,len);
                    //完整的数据才回调
                    handleMessage.read(bytes);
                }
            }
        }