2012-09-21 48 views
0

blazeds服务器端不知道客户端已断开连接。但似乎知道客户端的网络已经停止。blazeds,如何知道客户端已“断开”?

在我的情况下,我使用轮询通道,下载blazeds的源代码,并在FlexClientOutboundQueueProcessor.flush(MessageClient messageClient, List<Message> outboundQueue)方法中添加一些日志输出。然后我看到了这个,当一个客户端被子服务器,服务器端每3秒调用一次FlexClientOutboundQueueProcessor.flush方法,并打印我在flush方法中添加的内容,然后我只关闭客户端的网络,而不关闭浏览器(客户端和具有不同网络的服务器),我发现服务器端不会打印任何内容,这意味着服务器端不会调用flush方法。

经过30多分钟的时间我恢复了客户端的网络,服务器端继续调用flush方法(客户端的会话没有被销毁,如果我关闭了客户端的浏览器,30分钟后服务器端会销毁会话)。

现在,我有,:

  1. 两个问题在服务器端如何知道客户端的网络已经击落?是否有监听者监视客户端的网络?如果是这样,它在哪里?如果没有,代码如何以及在哪里?

  2. 看来服务器端会每3秒调用一次FlexClientOutboundQueueProcessor.flush方法,可以配置这个间隔吗?并在哪里开始或停止此计时任务的代码?

回答

0
+0

你好!谢谢你的答案,但也许我的坏表情,你有一点点misunderstand.For我的第一个问题,我是不是想知道如何检测时,Flex客户端断开连接,我想知道是否blazeds总是检测客户端的新工作,所以当我关闭客户端的网络时,服务器端不再一次调用flush方法,如果是这样,代码在哪里?那么我的第二个问题,我试过了你提供的链接中的属性,但没有效果,它仍然每3秒调用一次flush方法,你能直接告诉我whice属性来设置间隔吗?谢谢! – user1688052

相关问题