我正在编写一个 Web 应用程序,其中多个监听器(Evcentsource SSE 客户端 JS)将连接到我的服务器。我想做的是

  • 为每个连接的监听器存储 SSE 发射器:可以在内存中或通过为每个客户端分配 id 的任何其他方式来完成到目前为止我能够实现这一点
  • 现在是问题;如何向连接到我的网络应用程序的特定客户端发送响应/事件?在执行此操作时,存储的 SSEemmiters 要么已完成,要么已超时。我如何防止这种情况?我如何让 sseEmmiter 无限期地打开(直到客户端关闭)并有选择地发送事件。
  • 最佳答案

    您需要在 SseEmitter 上设置超时。默认超时时间相当短。

    SseEmitter timeout 以毫秒为单位。这是 session 超时,不受 session Activity 的影响。

    超时需要设置为 session 的预期持续时间,以毫秒为单位。所以,86400000(或更多)是完全合适的。

    关于java - SSE 发射器 : Manage timeouts and complete(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40462780/

    10-11 09:31