我有一个运行 Java Play Framework 2.2.1 的服务器和一个客户端应用程序,它通过 websockets 连接到服务器以通过 http 监视和下载文件。我在下载大文件时遇到问题,websockets 消息会阻塞,直到下载在连接的客户端结束。客户端使用 Java JDK8 和用于 websockets 的 Tyrus 库。
有人知道 HTTP 和 Websockets 之间是否有任何优先级(据我所知 Websockets 是通过 HTTP 包实现的)?
我有一个运行 Java Play Framework 2.2.1 的服务器和一个客户端应用程序,它通过 websockets 连接到服务器以通过 http 监视和下载文件。我在下载大文件时遇到问题,websockets 消息会阻塞,直到下载在连接的客户端结束。客户端使用 Java JDK8 和用于 websockets 的 Tyrus 库。
有人知道 HTTP 和 Websockets 之间是否有任何优先级(据我所知 Websockets 是通过 HTTP 包实现的)?
一旦通过请求升级到Websocket 协议来启动客户端和服务器之间的 HTTP 连接来完成初始引导,客户端和服务器之间就不再有 HTTP。
WebSocket 是 TCP 上的传输层。与 HTTP 不同,它允许通过 TCP 连接进行全双工通信。
问题是 Tyrus 库的处理程序阻止了 Websocket 的任何其他操作。所以我们只是在接收处理程序中启动一个新的 java 线程,并尽可能快地离开这个线程。
感谢之前的建议。