我试过搜索我面临的这个奇怪的问题但在网上找不到任何东西。 以下是我想要做的事情。
从用户浏览器上传文件到在不同环境中运行的播放服务器
以下是我面临的问题。
在到达Play服务器之前,块被截断
观察:
从客户端通过java脚本正确创建块,websocket.send()
正在将正确的块传递给Play。
在Play服务器上,该块将作为String
事件对象进行截断。
请提供您的输入,这可以帮助我调试并修复此问题。你想要我提供的任何其他东西,而不是粘贴代码,因为它在大多数机器和网络上运行但是在一些机器和网络上失败,所以它似乎不是代码问题
PS。这个问题可以根据人们的观点得到很多答案,对于所有SO用户,我只需要帮助解决可能出错的问题,所以请不要将此标记为不合适
答案 0 :(得分:0)
我已经弄清楚了,问题在于谷歌浏览器的最新更新。我从here(版本37)下载了chrome,它开始工作正常。
经过一段时间后我才知道这个问题是因为chrome V38针对单个消息的多个帧实现了更改,最初它是在一个帧中传输的,所以最终来自服务器端的实现也需要要改变以便处理相同的事情。
我使用的是旧版本的Play框架,它没有这种多帧处理实现,所以它正在破坏。
将Play更新为2.2.3后,它开始正常工作,因为他们已在该版本中实现了多帧处理。
下面的一些有用链接Changes for Continuation frame handling for WebSockets in Play 2.2.3