전체 글

전체 글

    Hosts 파일 경로, 형식, 원리

    경로 hosts 파일은 C:\Windows\System32\drivers\etc 밑에 들어간다. 형식 hosts 파일에는 아래와 같이 IP와 Domain Name 형식으로 이루어져 있다. 200.1.216.230 www.test.com 원리 hosts 파일을 이용한다면 해당 Domain으로 접속 시 DNS Server를 거치지 않고 바로 IP로 변환해서 들어간다. 그렇기에 DNS Server를 거치지 않기 때문에 빠르다. hosts 파일이 없다면 DNS Server를 찾아가게되는데 DNS Server를 못찾을 경우(내부 인터넷망이 끊겼다거나 등)에는 브라우저에서 DNS Server를 못찾는다고 에러가 발생한다. 더불어 hosts 파일을 해커가 조작 한다면 다른 IP로 접속이 될 수도 있다. 그렇기 때문에..

    Spring Boot로 만드는 WebSocket & Netty - 채팅(3)

    모든 소스는 깃헙에 있습니다. 해당 소스의 목적은 Netty 기초 튜토리얼에 목적이 있습니다. Netty에 대해서 이미 기본 지식이 있는 상태에서 보는 것을 추천드립니다. 이 글은 이전 글들과 채팅 기능에 있어서는 기능적으로 크게 달라진 점은 없습니다. 마찬가지로 WebSocket 채팅 방식으로 이루어지며 내부적으로 Netty를 통해 한번 더 전달하는 방식으로 만들어져 있어서 Netty를 모른다면 익히기에 편리 합니다. Netty는 TCP 기반의 양방향 통신과 비동기 구현이 가능합니다. WebSocket도 TCP 통신 방식을 이용하고 Netty를 이용해서 TCP 통신을 개발할 수 있기 때문에 적절한 예제가 될 것 같아서 만들어 봤습니다. 양방향 통신을 위해 Netty는 Server와 Client 두개 모..

    Spring Boot로 만드는 WebSocket & Kafka - 채팅(2)

    모든 소스는 깃헙에 있습니다. 해당 소스의 목적은 Kafka 튜토리얼에 목적이 있습니다. 그래서 이전 글과 채팅에 있어서는 기능적으로 크게 달라진 점은 없습니다. 단순히 Session을 통한 WebSocket 채팅 방식으로 이루어지며 내부적으로 Kafka를 통해 한번 더 전달하는 방식으로 만들어져 있어서 Kafka를 모른다면 익히기에 편리 합니다. Kafka는 TCP 기반의 양방향 통신과 비동기 구현이 가능합니다. 그러므로 TCP를 사용하는 WebSocket을 이용한 예제를 익히기에 적절해서 합쳐봤습니다. 사용법 Zookeeper와 Kafka는 필수로 실행해야 합니다. WebSocket에서 Kafka와 같은 메시지 큐를 쓰는 이유 WebSocket만을 이용했을 때의 문제점은 Session 단위의 메시지만..

    Spring Boot로 만드는 WebSocket Tutorial - 채팅(1)

    소개 사용하는 PC에서 외부 메신저 설치가 불가능해 필요에 의해 만들어본 WebSocket 어플리케이션입니다. 간단하게 만들었기 때문에 WebSocket이 어떻게 돌아가는지 궁금하신 분들이나 실제로 저와 같이 필요에 의해 사용하실 분들이 있으면 사용해보시길 바랍니다. 모든 소스는 깃헙에 올려놨습니다. 사용법 구동 후 브라우저 탭 2개를 띄워서 아래의 주소를 들어가면 서로 채팅이 가능합니다. localhost:8080/guest localhost:8080/master 알림 기능 상대방이 메시지를 보냈을 때 브라우저의 타이틀 값이 반복적으로 바뀌면서 알림 기능을 비슷하게 구현했습니다. 3명 이상 채팅 금지 WebSocket 만을 이용했을 때는 채팅방을 여러개 만들 수 없고 세션을 이용하는 단점이 있습니다. ..