我正在我们的预生产环境中测试 Diffusion 解决方案。该解决方案为匿名客户提供 10 分钟的免费访问时间,然后他们必须进行身份验证或断开连接。这在开发和早期测试中运行良好,但在预生产中,当一个客户端断开连接时,我们会看到许多其他客户端同时无故断开连接。将日志记录设置为 FINEST 后,日志文件会显示:
2016-03-21 11:57:36.557|DEBUG|Diffusion: InboundThreadPool Thread_4||NIOBufferedChannel@52e2a219[connected local=/10.0.4.1:8080 remote=/10.0.1.99:58673] : Closed(UNEXPECTED_ERROR) Unexpected error EOF|com.pushtechnology.diffusion.io.message.MessageChannelException
2016-03-21 11:57:36.558|DEBUG|Diffusion: InboundThreadPool Thread_4||Java Client 50328FF242799CD4-000000000000015A AWAITING_RECONNECTION@10.0.1.99: State changed from CONNECTED to AWAITING_RECONNECTION.|com.pushtechnology.diffusion.clients.impl.ClientImpl
2016-03-21 11:57:36.558|DEBUG|Diffusion: InboundThreadPool Thread_4||Java Client 50328FF242799CD4-000000000000015A AWAITING_RECONNECTION@10.0.1.99: CONNECTION_LOST keeping alive for 60000 ms.|com.pushtechnology.diffusion.clients.impl.ClientImpl
受影响的客户端始终是浏览器,而不是智能手机。通常是较旧的浏览器,例如 IE9。