기존 서버에 websocket 서버를 구현했습니다. 핸드 셰이크가 좋으면 첫 번째 메시지를 보내고 클라이언트 브라우저가이를 수신 할 수도 있습니다. 그러나 이후의 모든 메시지는 websocket 연결을 끊습니다. 크롬에 나는 다음과 같은 오류가 발생합니다.Websocket - 마스크 비트 세트에 대해 불평하는 크롬
failed: A server must not mask any frames that it sends to the client.
내 프레임이 < < 130466011511011295105110102,111,32,97,118,95,112,111,116,61,34 같다 송신 될이
Len = erlang:size(Msg),
if
Len < 126 ->
Message = [<<1:1, 0:3,2:4,0:1,Len:7>>,Msg];
Len < 65536 ->
Message = [<<1:1, 0:3,2:4,0:1,126:7,Len:16>>,Msg];
true ->
Message = [<<1:1, 0:3,2:4,0:1,127:7,Len:64>>,Msg]
end,
이제 하나의 샘플 데이터처럼 만들어 , 49,49,34,32,1049711010011595112101114951041111171146134484650,48,34,32,47,62 >>
위 코드에서 알 수 있듯이 마스크 비트는 항상 0으로 설정되어 있지만 동일한 메시지가 t에 대해 작동하는 이유는 아닙니다. 그는 처음으로 같은 메시지를 다시 보내면 마스크 비트 세트에 대해 불평합니다.
아무도 알아 듣지 못했습니까? 감사합니다.
마스킹 또는 특수 비트 설정과 관련하여 Chrome에서 불만을 제기하는 경우 해당 데이터는 일반적으로 네트워크 관리자로 전송되지 않습니다. WireShark (Charles만으로도 충분하고 사용하기가 다소 복잡하다는 것을 알았습니다.)와 같은 것으로 바로 뛰어 들기를 원할 것입니다. –
안녕하세요. 빠른 답변을 보내 주셔서 감사 드리며 늦게 답변드립니다. 나는 지금 wireshark에 관한 교통량을 점검했다 (크롬은 많이 사용하지 않는다). 이제 첫 번째 메시지는 941 바이트이고 두 번째는 251 바이트입니다. 첫 번째 메시지의 경우 wireshark에서 1 개의 websocket 섹션을 볼 수 있지만 두 번째 메시지에서는 3 개의 websocket 메시지 (스크린 샷 첨부)가 표시됩니다. 첫 번째는 페이로드 길이 2, 두 번째 121 및 세 번째 99입니다. 정보에는 계속 메시지가 표시됩니다. – rameez82
여기 imaget를 업로드했습니다 - http://i44.tinypic.com/16hw1nd.png – rameez82