0
스프링 websocket 구현에 연결하는 데 문제가 있습니다.스프링 웹 소켓 상태 : 400 websocket 연결 유지
코드를 디버깅 한 후 요청 헤더 'Connection'에 간단한 자바 스크립트 코드에서 'keep-alive'및 'Upgrade'의 두 값이 있음을 발견했습니다.
요청의 피들러 출력은 다음과 같습니다 -
GET http://localhost:8282/play/stream HTTP/1.1
Host: localhost:8282
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Authorization: Basic bXNhZG1pbjptc2FkbWlu
Upgrade: websocket
Connection: Upgrade
Origin: http://localhost:8282
Sec-WebSocket-Version: 13
User-Agent: Mozilla/5.0 (Windows NT 5.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: JSESSIONID=8C8748DD08104EAD51296E4A9E846604
Sec-WebSocket-Key: 9edBIn/q4i5pyQOFf72SMA==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
...을 DefaultHandshakeHandler()가 '유지 (keep-alive)'인 FIRST 값을 반환하는 HttpHeaders.getConnection를 호출합니다. 이것은 '업그레이드'및 '업그레이드'와 비교되고 실패합니다.
무엇이 문제입니까? 이 상황에서 keep-alive 헤더를 사용할 수 있습니까? 그렇다면 논리가 올바르지 않습니까?
나는 봄-WebSocket을/스프링 웹 4.0.8.RELEASE
건배
설명해 주셔서 감사합니다. 이것은 keep-alive 헤더를 기대하지 않고 첫 번째 값만 가져 오기 때문에 스프링 웹 소켓의 버그 여야합니다. – CobraFlow