| | |
| | | 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; |
| | |
| | | // 保存body |
| | | originalData.setBodyData(bodyBuf.array()); |
| | | |
| | | LogUtil.d("Socket收到数据-->" + originalData.getBodyString()); |
| | | LogUtil.d("Socket收到数据-->" +HexUtil.bytesToHex(originalData.getBodyBytes()) ); |
| | | // 分发数据 |
| | | actionDispatch.dispatchAction(IOAction.ACTION_READ_COMPLETE, originalData); |
| | | |
| | |
| | | throw new ReadUnrecoverableException("数据body的长度不能小于0"); |
| | | } |
| | | |
| | | LogUtil.d("Socket收到数据-->" + originalData.getBodyString()); |
| | | LogUtil.d("Socket收到数据-->" + HexUtil.bytesToHex(originalData.getBodyBytes())); |
| | | // 分发 |
| | | actionDispatch.dispatchAction(IOAction.ACTION_READ_COMPLETE, originalData); |
| | | |
| | |
| | | // 停止线程 |
| | | 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(); |
| | | // 重连 |
| | |
| | | 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 |
| | |
| | | |
| | | // 释放资源 |
| | | private void release() { |
| | | LogUtil.i("reader线程释放资源"); |
| | | if (originBuf != null) { |
| | | originBuf = null; |
| | | } |