웹소켓 6

[java] 인텔리제이 스프링부트 + 웹소켓 연결방법

Lombok 추가 프로젝트구조 build.gradle 스프링부트 버전을 2.6.1 로 해준다. sourceCompatibility 을 11 로 해준다. plugins { id 'java' id 'war' id 'org.springframework.boot' version '2.6.1' id 'io.spring.dependency-management' version '1.1.2' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '11' } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boo..

intellij java11 + spring boot + 웹소켓 서버 (WebSocket Server) 구축

프로젝트 폴더(untitled1) 우측 마우스 클릭 Add Framework Supprot... 클릭 WebServices 체크 Apache Axis 변경 Spring MVC 체크 src/main/java 에서 패키지 생성 (kdh) .java Class 추가 ChatServer package kdh; import javax.websocket.*; import javax.websocket.server.ServerEndpoint; import java.io.IOException; import java.util.HashMap; import java.util.Map; @ServerEndpoint("/ws") public class ChatServer { private Map usernames = new Has..

크롬 비활성화된 탭 네트워크(웹소켓) 끊어지는 현상 Intensive Wake Up Throttling

현재 크롬에서 웹소켓으로 전문을 송수신 하고 있습니다. 콘솔로그로 1초마다 지켜보고 있고 30초마다 서버와 접속하여 끊어지는 현상을 방지하고 있습니다. 그런데 소켓 연결된 탭을 비활성화 즉 다른 탭을 열고 작업을 하고 있으면 12분~13분 후에 소켓이 끊어져버립니다. onClose 에서도 감지를 못합니다. Intensive Wake Up Throttling Chrome 브라우저가 최소화되거나 초점이 맞지 않은 상태에서 5~6분 후에 웹소켓 연결이 끊길 수 있습니다. "Connection closed: 1001 Going Away (The endpoint is going away due to a server failure or client navigation), clean closure: true" 메시지..

프로그래밍/Js 2023.03.07

websocket 바이너리 전송 arraybuffer

웹소켓 전송시 response ByteBuffer 로 받을때에 결과 JS let SOCKET_URL = "wss://~~~"; let socket = new WebSocket(SOCKET_URL); socket.binaryType = "arraybuffer"; // 바이너리로 받을려면 해야함 socket.onopen = function(e) { socket.send("---> socket send"); } socket.onmessage = function(event) { if(typeof event.data == "string") console.log("string 메세지"); else { console.log("스트링타입아님"); console.log(event.data.byteLength); cons..

프로그래밍/Js 2022.05.06

Shared Workers 이용하여 WebSocket 연결 방법 (웹소켓을 연결한 상태에서 새로고침 또는 다른 페이지로 이동시 웹소켓 연결을 유지하는게 목적)

이 문서에서 하려고 하는 목적 사용자가 페이지를 새로 고칠 때 소켓이 닫힙니다. 그것은 원래 그렇습니다. 그러나 하고싶은것은 페이지 새로 고침 전반에 걸쳐 지속적인 웹 소켓 연결을 갖는 것입니다. 해결방법 사용자가 귀하의 페이지에 없는 경우에도 연결되도록 하는 것은 일종의 보안 위반이기 때문에 이것이 작동하는지 확실하지 않습니다. (새로 고침을 하다 보면 페이지를 빠져나왔다가 다시 들어가게 되기 때문입니다.) 가장 좋은 방법은 백그라운드에서 실행할 수 있는 서비스 워커를 사용하는 것입니다 웹 소켓을 사용하고 있으므로 SharedWorker를 사용하여 웹 소켓에 대한 새 스레드를 만드는 것이 좋습니다. 즉 웹소켓을 연결한 상태에서 새로고침 또는 다른 페이지로 이동시 웹소켓 연결을 유지하는데 목적이 있습니다..

프로그래밍/Js 2021.12.17

웹워커 안에서 웹소켓 구동 시험 테스트 + Node 소켓 서버

.개요 웹 브라우저 JavaScript 런타임은 기본적으로 단일 스레드 환경입니다. 그러나 HTML 표준은 웹 브라우저가 메인 스레드와 백그라운드 스레드(워커 스레드)에서 JavaScript를 실행할 수 있도록 하는 웹 워커 기능을 도입하여 개발자가 웹 브라우저에서 다중 스레드 JavaScript 응용 프로그램을 구현할 수 있도록 합니다. 본 문서는 JavaScrip 웹 워커를 사용하여 WebSocket API 웹 애플리케이션을 구현하는 방법을 보여줍니다. .웹소켓 개요 WebSocket 사양은 웹 페이지가 원격 호스트와의 양방향 통신을 위해 WebSockets 프로토콜을 사용할 수 있도록 하는 API를 정의합니다. WebSocket 인터페이스를 소개하고 웹을 통해 단일 소켓을 통해 작동하는 전이중 통신..

프로그래밍/Js 2021.11.09