Netty做tcp长连接服务器有大量坏包

Paosin 2020-06-16 06:47:28
使用Netty做TCP长连接服务器,多个设备连接该服务器,都在局域网内
业务上,大部分帧都是客户端上报,服务器不用回复,服务器发送到设备的帧设备也不用回复

在使用wireshark抓包,服务器发送到客户端,有大量黑底红字的坏包
我的ip192.168.1.168 设备的ip192.168.1.150
抓包发现客户端每发上来一帧,虽然我业务上无需回复,但tcp自己还是有个ACK的正常包发回到设备,并紧跟着一个一模一样的坏包,显示tcp dup ack

我自己发给客户端的帧,也同样都是一个正常包后面跟一个坏包,坏包显示 tcp retransmission

而且客户端是能收到帧的

为什么我发给客户端的都是一正常包紧跟一个坏包?而且有大量的不是我业务上的包,这些都是啥?是服务器收到帧后必须要回复一帧才行吗?



try {
ServerBootstrap bootstrap = new ServerBootstrap()
.group(boss, worker)
.channel(NioServerSocketChannel.class)
.localAddress(inetSocketAddress)
.childOption(ChannelOption.TCP_NODELAY, true)
.childOption(ChannelOption.SO_KEEPALIVE, true)
.childHandler(new HvacChannelInitializer(context));
ChannelFuture future = bootstrap.bind().sync();
if (future.isSuccess()) {
log.info("[TCP Server] server started @ {}:{}", ip, tcpPort);
}
future.channel().closeFuture().sync();
} catch (InterruptedException e) {
log.error("[TCP Server] server started failed", e);
} finally {
boss.shutdownGracefully();
worker.shutdownGracefully();
preDestroy();
}
...全文
402 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianfang 2020-06-18
  • 打赏
  • 举报
回复
坏包都是在重发,重发是因为出错 360是软件,不会去破坏tcp包的
Paosin 2020-06-17
  • 打赏
  • 举报
回复
引用 1 楼 tianfang 的回复:
可能是底层传输出现错误 检查一下网络设备及网线
两者能通讯、都能解析成功 可能跟360有关吗? 公司用的360天擎
tianfang 2020-06-16
  • 打赏
  • 举报
回复
可能是底层传输出现错误 检查一下网络设备及网线

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧