左晓为主开发手持机充值管理机
zuoxiao
5 天以前 548dce0bcff06ee7a1795defe8e7789b9d7aad94
easysocket/src/main/java/com/easysocket/connection/iowork/EasyReader.java
@@ -10,7 +10,9 @@
import com.easysocket.interfaces.conn.IConnectionManager;
import com.easysocket.interfaces.conn.ISocketActionDispatch;
import com.easysocket.interfaces.io.IReader;
import com.easysocket.utils.HexUtil;
import com.easysocket.utils.LogUtil;
import com.tencent.bugly.crashreport.CrashReport;
import java.io.IOException;
import java.io.InputStream;
@@ -138,7 +140,7 @@
                    // 保存body
                    originalData.setBodyData(bodyBuf.array());
                    LogUtil.d("Socket收到数据-->" + originalData.getBodyString());
                    LogUtil.d("Socket收到数据-->" +HexUtil.bytesToHex(originalData.getBodyBytes()) );
                    // 分发数据
                    actionDispatch.dispatchAction(IOAction.ACTION_READ_COMPLETE, originalData);
@@ -171,7 +173,7 @@
            throw new ReadUnrecoverableException("数据body的长度不能小于0");
        }
        LogUtil.d("Socket收到数据-->" + originalData.getBodyString());
        LogUtil.d("Socket收到数据-->" + HexUtil.bytesToHex(originalData.getBodyBytes()));
        // 分发
        actionDispatch.dispatchAction(IOAction.ACTION_READ_COMPLETE, originalData);
@@ -194,12 +196,13 @@
                // 停止线程
                stopThread = true;
                release();
                LogUtil.i("reader停止线程");
                CrashReport.postCatchedException(unrecoverableException);
            } catch (ReadRecoverableExeption readRecoverableExeption) {
                readRecoverableExeption.printStackTrace();
                // 重连
                LogUtil.d("--->重连 ReadRecoverableExeption");
                connectionManager.disconnect(true);
            } catch (IOException e) {
                e.printStackTrace();
                // 重连
@@ -236,7 +239,7 @@
        byte[] data = new byte[len];
        originBuf.get(data, 0, len);
        readData.setBodyData(data);
        LogUtil.d("Socket收到数据-->" + readData.getBodyString());
        LogUtil.d("Socket收到数据-->" + HexUtil.bytesToHex(readData.getBodyBytes()));
        // 分发数据
        actionDispatch.dispatchAction(IOAction.ACTION_READ_COMPLETE, readData);
        // 相当于把指针重新指向positon=0
@@ -287,6 +290,7 @@
    // 释放资源
    private void release() {
        LogUtil.i("reader线程释放资源");
        if (originBuf != null) {
            originBuf = null;
        }