Java Spring websocket采用sockjs和stomp客户端设计

Java Spring websocket采用sockjs和stomp客户端设计,java,web,stomp,spring-websocket,sockjs,Java,Web,Stomp,Spring Websocket,Sockjs,我正在将SpringWebSockets集成到web应用程序中。我想用它来处理两个在ajax中花费很长时间的调用。根据我的理解,我看到有不同的设计选择,我该如何处理这个问题。我正在考虑以下问题,你能告诉我什么是最好的选择吗?如果是,为什么 1) 一旦用户通过SockJS登录到应用程序,就打开一个套接字连接,并使用此连接发送消息和订阅我要进行的两个调用。我对这种设计的一个问题是,如果用户刚刚关闭浏览器,套接字连接会保持打开吗 2) 为每个呼叫打开一个套接字连接,并在收到消息后关闭它,但在这里,每次

我正在将SpringWebSockets集成到web应用程序中。我想用它来处理两个在ajax中花费很长时间的调用。根据我的理解,我看到有不同的设计选择,我该如何处理这个问题。我正在考虑以下问题,你能告诉我什么是最好的选择吗?如果是,为什么

1) 一旦用户通过SockJS登录到应用程序,就打开一个套接字连接,并使用此连接发送消息和订阅我要进行的两个调用。我对这种设计的一个问题是,如果用户刚刚关闭浏览器,套接字连接会保持打开吗

2) 为每个呼叫打开一个套接字连接,并在收到消息后关闭它,但在这里,每次建立连接都会占用大量资源

我对SpringWebSocket、SockJS和STOMP之类的东西还很陌生,所以请让我知道我的理解哪里是错的

提前谢谢

  • 当用户关闭浏览器时,Web套接字将断开连接。您可以在服务器端处理它。我的意思是,你可以再次通知其他用户或其他什么

  • 加载浏览器后,您需要打开web套接字连接一次。您可以在浏览器打开时保存此连接。通话后不要断开连接。停止发送数据包

  • 我想这个设计会对你有帮助

    一些有用的链接:

    更新(2016年3月19日):

    并发将帮助您。这意味着每个新连接将由新线程处理。因此,它们可以并行工作。当然,线程的计数必须受线程池的限制。因此,这类问题已经在SpringWebSocket中解决并实现了


    如果您对基础理论感兴趣,那么您可以阅读

    谢谢。我将为用户打开一个web套接字连接,因为当用户关闭浏览器时,web套接字将断开连接。这些链接真的很有用!