Java 当通过http将文件下载到同一主机时,Websocket会阻塞

Java 当通过http将文件下载到同一主机时,Websocket会阻塞,java,websocket,java-8,playframework-2.2,tyrus,Java,Websocket,Java 8,Playframework 2.2,Tyrus,我有一个运行JavaPlayFramework2.2.1的服务器和一个通过WebSocket连接到服务器的客户端应用程序,用于监控和通过http下载文件。我在下载大文件时遇到了一个问题,websockets消息会阻止这些文件,直到下载在连接的客户端结束。客户端是带有JavaJDK8和TyrusLibraryforWebSockets的don 是否有人知道HTTP和WebSocket之间是否有任何优先级(据我所知,WebSocket是通过HTTP包实现的)?一旦通过请求升级启动客户端和服务器之间的

我有一个运行JavaPlayFramework2.2.1的服务器和一个通过WebSocket连接到服务器的客户端应用程序,用于监控和通过http下载文件。我在下载大文件时遇到了一个问题,websockets消息会阻止这些文件,直到下载在连接的客户端结束。客户端是带有JavaJDK8和TyrusLibraryforWebSockets的don


是否有人知道HTTP和WebSocket之间是否有任何优先级(据我所知,WebSocket是通过HTTP包实现的)?

一旦通过请求升级启动客户端和服务器之间的HTTP连接来完成初始引导映射,客户端和服务器之间就不再有HTTP了


WebSocket是TCP上的传输层。与HTTP不同,它允许通过TCP连接进行全双工通信

问题在于Tyrus库的处理程序阻止了Websocket的任何其他操作。因此,我们只需在接收处理程序中启动一个新的java线程,并尽可能快地离开这个线程


谢谢你之前的建议。

谢谢你的回答。但是,HTTP和Websockets在分派包时处于相同的优先级?因为这只意味着连接是由HTTP建立的,但在此之后,所有握手都是由公共TCP套接字完成的?是的,初始连接是HTTP。Websocket握手被称为服务器验证升级的初始过程。之后,它将通过TCP发送Websocket。好啊感谢您对websockets的解释,但我无法理解为什么websockets会被阻止,直到文件下载完成。然后发送和接收排队的所有字节,而不会出现任何问题。