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

时间:2014-07-17 17:06:20

标签: java websocket java-8 playframework-2.2 tyrus

我有一台运行Java Play Framework 2.2.1的服务器和一个客户端应用程序,它通过websockets连接到服务器,用于通过http监控和下载文件。我在下载websockets消息阻止的大文件时遇到问题,直到下载在连接的客户端结束。客户端使用Java JDK8和Tyrus库作为websockets。

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

2 个答案:

答案 0 :(得分:0)

通过请求升级到Websocket protocol,在客户端和服务器之间启动HTTP连接来完成初始的bootrapping,客户端和服务器之间不再有HTTP。

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

答案 1 :(得分:0)

问题是Tyrus库的处理程序阻止了Websocket的任何其他操作。所以我们只是在接收处理程序中启动一个新的java线程,并尽可能快地保留这个线程。

感谢您之前的建议。