websocket server
Node WebSocket Server
const {WebSocketServer} = require("ws"); const wss = new WebSocketServer({ port: 8080 }); //연결 wss.on('connection', function connection(ws, request) { wss.clients.forEach(client => { client.send(`새로운 유저가 접속했습니다. 현재 유저 ${wss.clients.size} 명`) }) ws.on('error', console.error); //onmessage ws.on('message', function message(data) { wss.clients.forEach(client => { client.send(JSON.stringify(JSON.pars..
Spring WebSocket Server - React
WebSocketChat.java WebSocket의 열고, 닫고, 메세지 받을 때 어떻게 동작할 지 작성 WebSocketConfiguration.java Spring Bean은 싱글톤으로 관리하지만 @ServerEndpoint 어노테이션인 클래스는 WebSocket 생성 시 마다 인스턴스가 생성되고 JWA에 의해 관리되기에 스프링의 @Autowired가 설정된 멤버들이 정상적으로 초기화 되지 않습니다. 이때 이를 연결해주고 초기화해주는 클래스가 필요합니다. Spring Bean은 인스턴스 생성부터 소멸까지 인스턴스 생명주기 관리를 해주는 컨테이너의 자바 객체 싱글톤 패턴은 애플리케이션이 시작 될 때 static을 통해 인스턴스를 메모리에 딱 하나 할당하고, 이후 호출 시 마다 해당 인스턴스를 반환해주..
React Javascript WebSocket - Server 포함
ws 프로토콜 기반으로 클라이언트와 서버 사이에 지속적인 양방향 연결 스트림을 만들어 주는 기술 WebSocket 연결 브라우저에서 WebSocket 제공 시간이 걸리니 useEffect 내에서 연결 WebScoket은 꼭 전역변수로 사용 const ws = useRef(null); useEffect(() => webSocketLogin(), []); const webSocketLogin = useCallback(() => { // 웹소켓 연결 ws.current = new WebSocket('ws://localhost:8080/socket/chat'); // 메세지 받으면 행동 ws.current.onmessage = message => setSocketData(JSON.parse(message.dat..