0

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

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

4

2 回答 2

1

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

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

于 2014-07-17T17:15:53.437 回答
0

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

感谢之前的建议。

于 2014-07-18T12:20:30.527 回答