Netty業務開發常見Bug解析
不顯式初始化initialBytesToStrip
LengthFieldBasedFrameDecoder#initialBytesToStrip
ChannelHandler順序錯誤
解碼編碼順序一定要注意
ChannelHandler 共享問題
不該共享的共享了,并發時就有數據問題
這個很容易理解,犯錯了也會很嚴重,必須避免。
該共享的不共享,每個 pipeline 自己又單獨添加了,就等于重復存了該 handler 浪費內存
分配ByteBuf方式錯誤
分配器直接用ByteBufAllocator.DEFAULT等,而不是采用ChannelHandlerContext.alloc()
未考慮ByteBuf的釋放
對于堆外內存或內存池,我們必須手動去釋放它,因為 GC 不負責處理。如果忘記釋放,就會完蛋。
所以一般繼承
完成內存釋放。
write(msg)就一定能寫數據?
ChannelHandlerContext.channel().writeAndFlush(msg)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。