반응형

2020/12/29 11

[WebSocket] Simple한 WebSocket Server구축하기-SPRING BOOT

1). SocketHandler.java @Component public class SocketHandler extends TextWebSocketHandler { HashMap sessionMap = new HashMap(); //웹소켓 세션을 담아둘 맵 @Override public void handleTextMessage(WebSocketSession session, TextMessage message) { //메시지 발송 String msg = message.getPayload(); System.out.println("=====================MSG:"+msg+"====================="); } @Override public void afterConnectionEstab..

[WebSocket] Websocket 파라미터 전달하기(Custom Header관련)

우선 본인은 Websocket Interceptor를 별도로 사용하여, socket 서버 접근시 인증을 하고싶었다. 추가로 Interceptor에서 구분자로 사용할 값을 전달하고 싶어서 Request Header에 Custom Header를 만들고싶었다. 하지만 Websocket은 Protocol을 별도로 추가하는것 외에는 방법이 없었다. 이에 url에 파라미터를 이용하여 접근하는 방식을 채택하여 사용하였다. var manageSocket = new WebSocket(_MULTILANG.wsUri+"?test=test&sid="+getCookie("sid")); manageSocket.onopen = function(e){ defaultNotice(_MULTILANG.clientJoin, "blue", ..

[WebSocket] WebSocket이란?

1). 정의 : websocket이란 웹 서버와 웹 브라우저간 실시간 양방향 통신환경을 제공해주는 실시간 통신 기술. Polling 방식(요청-응답방식)과 다르게 양방향으로 원할때 요청을 보낼 수 있으며 stateless한 HTTP에 비해 오버헤드가 적은 장점이 있다. HTTP 프로토콜에서 Handshaking을 완료한 후, HTTP로 동작을 하지만, HTTP와는 다른 방식으로 통신을 한다. HTTP통신의 단점을 개선함 영구적 양방향 통신 (연결이 끊어지지 않고 지속됨) HTML5의 주요 API HTTP Protocol을 기반으로 하는 웹 브라우저의 웹 서버간의 양방향 통신을 지원하기 위한 표준 Client와 Server가 실시간으로 메시지(데이터)를 자유롭게 주고 받을 수 있음 2). 언제쓰나? Spr..

[Knowledge] IP란? TCP/UDP란?

잠깐 공부했었는데 계속 확실하게 알지 못해서 다시 공부하려고 한다. 1). IP IP(Internet Protocol)라는 이름은 네트워크를 연동하는 프로토콜이라는 뜻으로 해석하자. OSI의 3 Layer(Network Layer)네트워크 계층과 Internet Protocol Suite의 3 Layer(Internet Layer)에 위치 IP 아래로는 네트워크를 만들 수 있는 다양한 하드웨어 기술 (Ethernet, WiFi 등...) 이 존재하고 있고, IP 위로는 다양한 응용 서비스(HTTP, FTP 등...)들이 동작할 수 있다. 간단한 예로 컴퓨터에 연결하는 랜선은 Ethernet, 모바일로 무선 네트워크를 이용하는 것은 WiFI, 개발 간 API를 호출할 때는 HTTP를 이영할 수 있는 것입니..

Linux 기본 명령어

1). 전체 경로가 보이도록 설정하기 vi /etc/bashrc 입력 41번째라인 \W ==> \w로 변경한다. :wq 하면 저장 ====> Root 계정으로만 etc는 접근이 가능하다. 2). 디렉토리 목록 보기 ls : 리스트 출력 ll = ls -l : 리스트 자세히 보기 3). 화면 위아래 스크롤 VM 에서 사용 -> fn + shift + 위/아래 화살표 4). 화면 지우기 Ctrl + l 5). 방화벽 끄기 stop firewalld systemctl disable firewalld stop.sh #!/bin/bash kill $(ps aux | grep 'enocean-0.0.1-SNAPSHOT.jar' | grep -v grep | awk '{print $2}') start.sh #!/bi..

[Redis] Spring Framework에서 Redis 사용하기 jedis

우선 현재 프로젝트에서 Redis를 사용하여, 사용자 인증 토큰, 캐싱, 기기 캐싱 및 여러 데몬끼리의 Push를 주고 받는 기능을 구현하였다. 본인이 프로젝트에 투입되기 전부터 Jedis Client를 사용하고 있었기때문에, 아래와 같이 정리해 두려고한다. 하지만, java Redis client에 Lettuce라는 아이가 있는데, 이아이의 성능이 훨씬 우월하다고 한다..!(직접 테스트는 안해봤다..) 참조 : https://jojoldu.tistory.com/418 Jedis 보다 Lettuce 를 쓰자 Java의 Redis Client는 크게 2가지가 있습니다. Jedis Lettuce 둘 모두 몇천개의 Star를 가질만큼 유명한 오픈소스입니다. 이번 시간에는 둘 중 어떤것을 사용해야할지에 대해 성..

[Python] Closure 및 Decorator

1). Closure 중첩함수가 부모함수의 변수나 정보를 닫아놓고 사용하는것 부모함수는 내부함수를 리턴하는 방식으로 사용 내부 함수에 직접적인 접근 불가능 설명 : cals() 부모함수에 2를 넣어 주면, 부모함수의 파라미터 n을 자식함수의 n에 대입시켜 자식함수를 return한다. 부모함수를 변수에 담아 사용할때는 부모함수의 파라미터를 포함한 자식함수가 담기게 된다. 그 변수에 파라미터를 넣어주어 호출하면 자식함수의 파라미터에 변수파라미터가 담기게 되어 실행된다. def cals(n): def sum(digit): return digit + n return sum nth = cals(2) nth(2) ==> 4 2). Decorator 다른 함수에 함수를 적용하여 실행하는 방식 def decorator..

반응형