민프
[React][TypeScript] SockJS, STOMP 연결 (기록) 본문
STOMP?
[STOMP] STOMP란 무엇일까?
STOMP(Simple (or Streaming) Text Oriented Message Protocol )란 무엇일까? 공식 홈페이지에 따르면 STOMP는 단순(또는 스트리밍) 텍스트 지향 메시징 프로토콜입니다. STOMP는 STOMP 클라이언트가 모든 STOMP 메시지
minf.tistory.com
ㅇ. NPM 설치
npm i @types/sockjs-client
npm i sockjs-client
npm i @types/stompjs
npm install @stomp/stompjs
ㅇ. 코드
import { Client } from "@stomp/stompjs";
import SockJS from "sockjs-client";
const connectToWebSocket = () => {
const topic = "/sub/hello"; // 구독할 주제
const stompClient = new Client(); // Client 객체 생성
stompClient.configure({
// brokerURL: url, // 일반 소켓으로 연결 할 떄
// 다른 STOMP 클라이언트 설정
webSocketFactory: () => new SockJS(`http://172.../stomp/ws"), // 링크 + 서버에서 설정해놓은 엔드포인트
debug(str) {
console.log(str);
},
});
stompClient.onConnect = () => {
stompClient.subscribe(topic, (message) => {
// 메시지 수신 시 처리할 작업
console.log("Received message:", message.body);
});
// 연결 성공 후 수행할 작업
console.log("WebSocket connected");
};
stompClient.onStompError = (frame) => {
console.log(`Broker reported error: ${frame.headers.message}`);
console.log(`Additional details: ${frame.body}`);
};
stompClient.onDisconnect = (message) => {
console.log(`onDisconnect: ${message}`);
};
stompClient.activate();
};
SockJS, Stomp
'[React]' 카테고리의 다른 글
[React] 가로 스크롤 바 안보이게 하기 [기록] (0) | 2023.06.27 |
---|---|
[React][TypeScript][Library] 날짜, 시간 카운트다운 라이브러리 react-countdown를 사용해보자 (0) | 2023.06.20 |
[React][TradingView] LibrarySymbolInfo 객체 속성 (0) | 2023.06.08 |
[React][TypeScript] StoryBook 설치 및 사용 설명 (0) | 2023.05.08 |
[React][TypeScript][MUI] Slider 커스텀을 해보자 (0) | 2023.05.04 |
Comments