2014-10-11 2 views
0

내가 직면하고있는이 이상한 문제를 검색하려고했지만 웹에서 아무것도 찾을 수 없습니다. 다음은 내가하려는 일입니다. 사용자 브라우저에서파일 업로드 중 웹 소켓 청크 자름

업로드 파일은 다음 몇 가지 다른 환경

에서 실행중인 서버를 플레이 내가 직면하고있는 문제입니다.

청크

는 서버에게

관찰 플레이에 도달하기 전에 잘립니다지고 :

  • 덩어리는 자바 스크립트에서 제대로 클라이언트 측에서 생성되고 websocket.send()는 플레이 적절한 덩어리를 전달합니다.

  • 재생 서버에서 청크는 잘린 String 이벤트 개체로 제공됩니다. 이 문제에 대한

  • 아주 이상한 일이 다른 청크 크기로했을 때 다른 모든 것이
  • 잘 작동, 일부 시스템/네트워크에서만 일어나고, 그것은 관찰 된 그 초기 덩어리의 많은 작은 조각에 대한 제대로받은 이후 하나는
  • 우리는 그런 제한이없는 경우 어떻게되는지 확인하려면 몇 가지 네트워크뿐만 아니라 방화벽과 프록시를 우회 시도,하지만 여전히 할 수있는 사용자의 입력을주십시오

을 실패 실패됩니다 이것을 디버그하고 수정하도록 도와주세요. 내가 제공 할 수있는 추가 사항은 대다수의 기계 및 네트워크에서 작동하지만 코드 실패는 아니므로 코드 붙여 넣기가 아니므로 코드 문제가 아닌 것 같습니다.

PS. 이 질문은 사람들의 견해에 따라 많은 답변을 할 수 있습니다. 모든 SO 사용자에게 잘못 될 수있는 것에 도움이 필요합니다. 따라서 부적절한 것으로 표시하지 마십시오.

답변

0

나는 그것을 알아 냈습니다. 문제는 Google 크롬의 최신 업데이트와 함께했습니다. here (버전 37)에서 크롬을 다운로드했는데 정상적으로 작동하기 시작했습니다.

나는이 문제가 단일 메시지에 대한 여러 프레임의 크롬 V38 구현 변경으로 인해 처음 알았고, 처음에는 단일 프레임으로 전송되었으므로 궁극적으로 서버 측에서도 구현됩니다. 같은 것을 처리하기 위해 변경 될 필요가있다.

이전 프레임 워크를 사용하고 있던이 프레임 워크는 여러 프레임 처리가 필요하지 않으므로 중단되었습니다.

재생을 2.2.3으로 업데이트 한 후 해당 버전에서 멀티 프레임 처리를 구현 했으므로 2.2.3으로 올바르게 재생되기 시작했습니다.

Issue With Latest Chrome

Play Changelog

Changes for Continuation frame handling for WebSockets in Play 2.2.3

아래의 몇 가지 유용한 링크