blazeds,如何知道客户端已“断开连接”?

时间:2012-09-21 07:59:52

标签: flex blazeds

服务器端的blazeds不知道客户端已断开连接。但它似乎知道客户端的网络已经关闭。

就我而言,我使用轮询频道,我下载了blazeds的源代码,并在FlexClientOutboundQueueProcessor.flush(MessageClient messageClient, List<Message> outboundQueue)方法中添加了一些日志输出。

然后我看到了这一点,当客户端一个子服务器,服务器端每隔3秒调用FlexClientOutboundQueueProcessor.flush方法,并打印我在flush方法中添加的内容,然后我只关闭客户端的网络,而不是关闭浏览器(客户端和服务器有差异网络),我发现服务器端没有打印任何东西,这意味着服务器端不会调用flush方法。

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

现在,我有两个问题:

  1. 服务器端如何知道客户端的网络已经崩溃?是否有监听客户网络的监听器?如果是的话,它在哪里?如果不是,代码的方式和位置?

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

1 个答案:

答案 0 :(得分:0)