효과
WebSocket을 지원하지 않는 브라우저는 Flash를 사용하여 WebSocket을 시뮬레이션하여 Flash 소켓을 사용하여 서버 소켓에 직접 연결할 수도 있습니다.
실제로 WebSocket 프로토콜은 비교적 간단하며 ActionScript를 시뮬레이션하는 것이 더 간단합니다.
또한 Spring은 SOCKJS에 대한 API를 제공합니다. 나는 아직 그것을 보지 못했습니다.
설명 중 일부 :
1. Spring의 WebSocket의 캡슐화 사용은 단독 또는 Spring MVC와 함께 사용할 수 있습니다. 단독으로 사용하면 Web.xml에서 Spring의 디스패처를 구성해야하며 서버를 계속 열어야합니다.
<Servlet> <Servlet-name> WebSocket </servlet-name> <Servlet-class> org.spramework.web.servlet.dispatchervlet </servlet-class> <para m-name> contextconfiglocation </param- name> <param -value> /web-inf/applicationcontext.xml </param-value> </init-param> <load-on-startup> 1 </load-startup> </servlet- mapping> <servlet-name> WebSocket < /servlet-name> <url-pattern>/</url-pattern> </servlet-mapping >>
2. 단독으로 사용하면 Cross -Domain을 참조하면 봄에 화이트리스트를 설정해야합니다.
<WebSocket : 핸들러 허용-오리진 = "*"> ........ ........ </websocket : handlers>
3. Flash가 사용되므로 Flash가 정책 파일을 요청했을 때 포트 843을 켜고 정책 파일을 반환해야합니다. 예제는 Netty4입니다.
4. 핸드 셰이크를 가로 채고 모니터링해야합니다. WebSocket은 WebSocketSession에서 세션을 얻는 것이 불가능합니다.
Public Class Chatintercepter는 httpsessionhandshaandshakeinterceptor를 확장합니다 퀘스트 .getServletRequest () ( "" ""핸드 셰이크 "+request.getheaders ()); // return super.beforeHake (요청, 응답, wshandler, 속성); return true; .............
5. Web-Socket-JS에서 Flash로 시뮬레이션 된 WebSocket 헤더 정보에는 쿠키가 포함되어 있지만 스크립트에 의해 추가됩니다. 따라서 세션 쿠키와 같은 필요한 쿠키를 피하려면 컨테이너가 필요합니다.
현재 이클립스에서 개발 된 경우
usehttponly = 'false'추가를 컨텍스트 태그에 추가하고 Eclipse가 배포 될 때 컨텍스트 태그가 자동으로 추가됨을 알 수 있습니다.
이미 포장 한 경우 Tomcat Directory /conf/server.xml로 이동하여 마지막 </host> 전에 추가하십시오.
다음과 같이 코드 코드를 복사하십시오.
매
이것의 의미는이 기사의 모든 내용입니다. 모든 사람들이 그것을 좋아할 수 있기를 바랍니다.