使用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();
}
uj5u.com熱心網友回復:
可能是底層傳輸出現錯誤檢查一下網路設備及網線
uj5u.com熱心網友回復:
兩者能通訊、都能決議成功
可能跟360有關嗎?
公司用的360天擎
uj5u.com熱心網友回復:
壞包都是在重發,重發是因為出錯360是軟體,不會去破壞tcp包的
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/52239.html
標籤:Java相關
上一篇:java selenium chrome定位元素的問題
下一篇:大佬們,救救可憐的孩子吧
