Java 上载文件时截断web套接字块

Java 上载文件时截断web套接字块,java,javascript,google-chrome,playframework,websocket,Java,Javascript,Google Chrome,Playframework,Websocket,我试着搜索我面临的这个奇怪的问题,但在网上找不到任何东西。 以下是我正在尝试做的 从用户浏览器上传文件到运行在不同环境下的播放服务器 以下是我面临的问题 区块在到达播放服务器之前被截断 意见: Chunk是从java脚本在客户端正确创建的,websocket.send()正在传递正确的Chunk来播放 在Play server上,区块作为被截断的字符串事件对象出现 关于这个问题非常奇怪的一点是,这只发生在一些机器/网络上,对于所有其他机器/网络来说,它工作正常 当尝试使用不同的块大小时,已经观

我试着搜索我面临的这个奇怪的问题,但在网上找不到任何东西。 以下是我正在尝试做的

从用户浏览器上传文件到运行在不同环境下的播放服务器

以下是我面临的问题

区块在到达播放服务器之前被截断

意见:

  • Chunk是从java脚本在客户端正确创建的,
    websocket.send()
    正在传递正确的Chunk来播放

  • 在Play server上,区块作为被截断的
    字符串
    事件对象出现

  • 关于这个问题非常奇怪的一点是,这只发生在一些机器/网络上,对于所有其他机器/网络来说,它工作正常
  • 当尝试使用不同的块大小时,已经观察到,对于较小的块,许多初始块被正确地接收,而随后一个块失败
  • 我们已经在一些网络上尝试绕过防火墙和代理来检查如果没有这样的限制会发生什么,但仍然失败
请给出您的输入,可以帮助我调试和修复此问题。我可以提供您想要的任何其他东西,而不是粘贴代码,因为它在大多数机器和网络上工作,但在少数机器和网络上失败,所以它似乎不是一个代码问题


附:这个问题可以有很多基于人们观点的答案,对于所有这么多的用户,我只是需要关于什么可能会出错的帮助,所以请不要将此标记为不合适的

我已经找到了答案,问题是谷歌chrome的最新更新。我从(37版)下载了chrome,它开始工作正常

过了一段时间我才知道,这个问题是因为chrome V38对单个消息的多帧实现进行了更改,最初它是在单个帧中传输的,因此最终服务器端的实现也需要更改,以便处理相同的消息

我使用的是较旧版本的Play framework,它没有这个多帧处理实现,所以它正在崩溃

将Play更新为2.2.3后,它开始正常工作,因为他们在该版本中实现了多帧处理。下面是一些有用的链接