java websocket 예제

인코더에서 보았듯이 디코딩 메서드는 끝점으로 전송된 메시지에서 검색된 JSON을 가져와 Gson을 사용하여 메시지: PushTimeService.java 클래스의 Java 소스 코드로 변환하는 위치입니다. 이 클래스는 단일 톤을 구현 하 고 별도 스레드에서 실행 됩니다. 10초마다 구독된 클라이언트의 컬렉션을 반복해서 서버 시간을 WebSocket 메시지로 각각 전송합니다. 세션이 닫히면 컬렉션에서 제거됩니다. WebSocket은 서버 엔드포인트(Java, .NET, PHP 등)와 클라이언트(HTML5/JavaScript, iOS) 간의 실시간 데이터 교환을 위해 단일 http 연결을 통해 지속적이고 낮은 대기 시간, 전이중 통신 채널을 설정하는 기술입니다. 이름을 전달하는 메시지를 모델링하려면 name 속성과 해당 getName() 메서드를 사용하여 일반 오래된 Java 개체를 만들 수 있습니다 http://www.programmingforliving.com/2013/08/jsr-356-java-api-for-websocket-client-api.html. 이클립스 내에서 Tomcat에 웹 소켓 서버 응용 프로그램입니다. 위의 이미지는 프로젝트 탐색기에서 동적 웹 프로젝트의 기본 구조를 보여 주며 있습니다. 아파치 톰캣 v9.0 서버 런타임 라이브러리의 tomcat-websocket.jar 파일을 확인합니다. 여기에는 WebSocket 지원을 위한 Java API가 포함되어 있습니다. 이 Java API는 서버 와 클라이언트 측 구성 요소를 모두 제공합니다: JavaScript 코드는 기본 제공 개발자 도구를 사용하여 Chrome(또는 다른 브라우저)으로 실행할 수 있습니다.

Chrome에서 새 창을 열고 위의 JavaScript WebSocket 클라이언트 코드를 복사하여 Chrome 개발자 도구에서 제공하는 본체에 붙여넣습니다. WebSocket 수명 주기 주석은 Java 메서드에 매핑됩니다. 이 예제에서는 @OnOpen 개의 부포가 open() 메서드에 매핑됩니다. @OnMessage 부어명은 handleMessage() 메서드에 매핑됩니다. close() 메서드에 대한 @OnClose 개의 추가 및 onError() 메서드에 대한 @OnError 개의 추가 웹 소켓 연결을 설정하기 위해 클라이언트(이 경우 브라우저)는 핸드셰이크 요청(HTTP 모방)을 보냅니다. 이 TCP의 상단에 실행하기 때문에, 유명한 3 방법 악수는 이루어집니다 (보장 배달 및 모든 것을 보장). 자바 객체를 JSON 표현으로 변환하고 그 반대로 전환하기 위해 Gson을 사용합니다: 다음 그림은 샘플 채팅 응용 프로그램에서 웹 소켓 연결을 협상할 때 요청 및 응답(크롬 개발자 콘솔)을 보여줍니다. 브라우저와 서버를