tcp数据粘包处理

This commit is contained in:
qiminbao
2025-09-23 11:31:10 +08:00
parent 0299bbcb5d
commit 144b914106
@@ -71,14 +71,14 @@ public class AgentDecoderHandler extends ChannelInboundHandlerAdapter {
if(endsWith){
lruCache.remove(sessionManager.client(ctx));
tmpMsgSize = 0;
sb.append(arr_msg[0]+"@tong-ran");
// content = arr_msg[0]+"@tong-ran";
// sb.append(arr_msg[0]+"@tong-ran");
content = arr_msg[0]+"@tong-ran";
}else{
lruCache.remove(sessionManager.client(ctx));
tmpMsgSize = 0;
sb.append(arr_msg[0]);
// content = arr_msg[0];
lruCache.put(sessionManager.client(ctx), sb.toString(), DateUnit.SECOND.getMillis() * 5000);
// sb.append(arr_msg[0]);
content = arr_msg[0];
lruCache.put(sessionManager.client(ctx), content, DateUnit.SECOND.getMillis() * 5000);
}
}
//判定是否粘包
@@ -90,17 +90,19 @@ public class AgentDecoderHandler extends ChannelInboundHandlerAdapter {
if(i == arr_msg.length -1){
lruCache.put(sessionManager.client(ctx), arr_msg[i], DateUnit.SECOND.getMillis() * 5000);
}else{
sb.append(arr_msg[i].replaceAll("agent-client:","")+"@tong-ran");
content += arr_msg[i].replaceAll("agent-client:","")+"@tong-ran";
// sb.append(arr_msg[i].replaceAll("agent-client:","")+"@tong-ran");
}
}
}else{
lruCache.remove(sessionManager.client(ctx));
tmpMsgSize = 0;
sb.append(String.join("@tong-ran", arr_msg));
// sb.append(String.join("@tong-ran", arr_msg));
content = String.join("@tong-ran", arr_msg);
}
}
}
content = sb.toString();
// content = sb.toString();
if (tmpMsgSize > 0) {
content = tempMsg + messages;
endsWith = content.endsWith("@tong-ran");