Hemen Teklif Al
  • Adres : 1. Cadde 1393 Sokak
    No : 7/A Balgat / ANKARA
  • Telefon
    0312 285 72 59
  • E-Posta
    info@basakevyemekleri.com

자바 웹 소켓 예제

configureMessageBroker() 메서드는 WebSocketMessageBrokerConfigurer에서 기본 메서드를 구현하여 메시지 브로커를 구성합니다. 간단한 메모리 기반 메시지 브로커가 “/topic”로 접두번된 대상에서 인사말 메시지를 클라이언트로 다시 전달할 수 있도록 enableSimpleBroker()를 호출하는 것으로 시작합니다. 또한 @MessageMapping 개의 추가된 메서드에 바인딩된 메시지에 대해 “/app” 접두사를 지정합니다. 이 접두사는 모든 메시지 매핑을 정의하는 데 사용됩니다. 예를 들어 “/app/hello”는 GreetingController.greeting() 메서드가 처리하도록 매핑되는 끝점입니다. 이 자습서에서는 Java EE 7을 기반으로 하는 스마트 홈 제어 웹 응용 프로그램인 Java WebSocket Home을 만듭니다. Java WebSocket Home에는 웹 브라우저에서 Java 응용 프로그램에 이르는 가상 장치를 연결하고 제어하기 위한 사용자 인터페이스가 있습니다. 이 응용 프로그램은 Java WebSocket 홈 서버에 연결된 모든 클라이언트에 대한 실시간 업데이트를 제공합니다. 먼저 기본 빌드 스크립트를 설정합니다. Spring으로 앱을 빌드할 때 원하는 빌드 시스템을 사용할 수 있지만 Gradle 및 Maven에서 작업하는 데 필요한 코드가 여기에 포함되어 있습니다. 어느 쪽이 익숙하지 않은 경우, Gradle와 자바 프로젝트 구축 또는 메이븐과 자바 프로젝트 구축을 참조하십시오. 여기서 웹 응용 프로그램은 앞에서 언급한 동적 웹 프로젝트 설정을 사용하여 Eclipse 내에서 실행됩니다.

WebSocket 서버 끝점을 실행하기 위해 Tomcat에 대한 구성을 변경할 필요가 없습니다. 포트 번호는 http 프로토콜(예: 8080)을 통해 연결에 사용되는 번호와 동일합니다. Java 개체를 JSON 표현으로 변환하기 위해 Gson: JSR 356 API는 매우 간단하며 WebSocket 응용 프로그램을 매우 쉽게 빌드할 수 있는 주석 기반 프로그래밍 모델을 사용합니다. 이 리포지토리에는 100% Java로 작성된 베어본 WebSocket 서버및 클라이언트 구현이 포함되어 있습니다. 기본 클래스는 java.nio를 구현하여 비차단 이벤트 기반 모델(웹 브라우저용 WebSocket API와 유사)을 허용합니다. 장치가 Java WebSocket 홈 서버에 추가되고 두 웹 브라우저에서 렌더링됩니다. 이 서비스를 외부 응용 프로그램 서버에 배포하기 위한 기존 WAR 파일로 패키징할 수 있지만 아래설명보다 간단한 방법은 독립 실행형 응용 프로그램을 만듭니다. 모든 것을 실행 가능한 단일 JAR 파일로 패키징할 수 있으며, 이는 오래된 Java main() 메서드에 의해 구동됩니다. 이 과정에서 외부 인스턴스에 배포하는 대신 Tomcat 서벨렛 컨테이너를 HTTP 런타임으로 포함하기 위한 Spring의 지원을 사용합니다.

WebSocket 사양은 텍스트와 바이너리 의 두 가지 온와이어 데이터 형식을 지원합니다. API는 이 두 형식을 모두 지원하며, 사양에 정의된 대로 Java 개체 및 상태 확인 메시지(탁구)를 사용하여 작업할 수 있는 기능을 추가합니다. Java EE 7 및 WebSocket API를 사용하여 스마트 홈 제어 웹 응용 프로그램을 만들었습니다. 또한 서버와 클라이언트 간에 통신할 수 있도록 Java 개체를 JSON으로 변환하고 그 반대로 변환하려면 인코더와 디코더가 필요하다는 것을 알았습니다. 아래 제공된 자바스크립트 소스 코드는 기본 WebSocket 클라이언트를 구현하는 WebSocketClient라는 클래스를 만듭니다. 서버 측의 조각을 사용하여 이제 서버 측에서 메시지를 보내고 받는 JavaScript 클라이언트로 관심을 돌릴 수 있습니다. 클라이언트 측에서 아래 의 자바스크립트를 사용하여 send(String 메시지) 메서드를 실행하여 서버에 새 메시지를 보냅니다. DeviceSessionHandler 개체를 삽입하여 각 세션에서 WebSocket 수명 주기 이벤트를 처리하고 해당 패키지를 가져옵니다. registerStompEndpoints() 메서드는 “/gs-guide-websocket” 끝점을 등록하므로 WebSocket을 사용할 수 없는 경우 대체 전송을 사용할 수 있도록 SockJS 대체 옵션을 사용할 수 있습니다.

SockJS 클라이언트는 “/gs-guide-websocket”에 연결하고 사용 가능한 최상의 전송(웹소켓, xhr 스트리밍, xhr-polling 등)을 사용하려고 시도합니다. 서버는 클라이언트에 인사말 메시지를 반환, 여기 “안녕하세요 클라이언트 0!” 섹션 1의 MyWebSocket.java 클래스의 줄 34를 참조하십시오.