org.jboss.netty突然停止服务

时间:2011-12-19 15:58:12

标签: java tcp netty

我使用org.jboss.netty编写游戏服务器代码。说实话,这是我第一次编写TCP / IP应用程序。

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();
                }

我仍面临同样的问题。

在这个游戏服务器中,我有定时任务(具有单独的executerthread池),例如每隔3秒向1800个客户端发送消息。这可能是个问题吗?你遇到过这种问题吗?

我认为定期向客户推送数据可能是个问题。因为我们在netty中使用线程池,慢速连接或坏网络可能会导致长发送队列,从而影响池中的可用线程数。你觉得怎么样?

1 个答案:

答案 0 :(得分:0)

你确定不会以某种方式阻止ioworker线程吗?我会采取一些线程转储来确定。

jstack <pid>