0
我使用org.jboss.netty編碼遊戲服務器。說實話,這是我第一次編寫TCP/IP應用程序。org.jboss.netty突然停止服務
Netty突然停止在處理程序中調用我的函數。我嘗試添加以下幾行來激活空閒連接:
LINE 1 TO PIPELINE : pipeline.addLast("timeout", new IdleStateHandler(idleTimer, 82 , 0, 0));
LINES TO HANDLER :
public void channelIdle(ChannelHandlerContext ctx, IdleStateEvent e) throws Exception {
super.channelIdle(ctx, e);
ctx.getChannel().close();
}
我仍然面臨同樣的問題。
在這個遊戲服務器中,我有定時任務(有單獨的執行線程池),例如每3秒發送消息給1800個客戶端。這可能是一個問題嗎?你有沒有遇到這種問題?
我想定期推送數據給客戶可能是問題。因爲我們在netty中使用線程池,所以連接速度慢或網絡不好可能會導致長髮送隊列,從而影響池中的可用線程數。你怎麼看 ?
感謝您的回答。我不知道jstack命令。其實際上確實有些工作線程被阻塞。如果它再次發生,jstack將幫助我找出實際問題。 – WorM 2011-12-28 12:17:34