본문 바로가기

server

(6)
STOMP를 활용한 실시간 채팅 프로그래밍 이번 포스팅은 저번 포스팅 끝에 말 한 STOMP를 활용한 실시간 채팅 프로그래밍을 해보려 한다.STOMP에 대한 설명은 전에 설명했기 때문에 바로 예제로 들어가 보자. 프로젝트 구성부터 알아보자. 다음과 같은 프로젝트 구성을 가져갔으며 클래스를 하나씩 확인해 보자. Greetingpackage com.example.socket.webSocket;import lombok.Getter;@Getterpublic class Greeting { private String content; public Greeting(){ } public Greeting(String content){this.content = content;} public String getContent(){return ..
WebSocket Programming 채팅 예제 이번 포스팅에서는 채팅 방을 여러 개 만들어 채팅을 할 수 있도록 예제를 구성해 보도록 하겠다.클라이언트는 개별적으로 웹 소켓 세션을 가지게 되고 채팅방에 세션 정보를 매핑시켜 두면 특정 방으로 메시지를 보낼 수 있다. 2개의 채팅방으로 대화하는 예제를 만들어 보도록 하겠다.  프로젝트 구성은 다음과 같이 가져갔다.각 클래스를 둘러보자. 1.채팅 메시지를 구현package com.example.socket.chatDto;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class ChatMessage { // message type - 입장, 채팅 public enum MessageType { ENTER, TALK ..
Socket Programming 예제 이번 포스팅에서는 소켓 프로그래밍을 예제로 해보려 한다.예제 목표는 웹 소켓으로 채팅을 구현하려 한다. 소켓에 대해선 이전 포스팅에서 설명했으며 자바 Socket 클래스에 대해 잠깐 둘러보고 진행해 보도록 하겠다. Socket Class자바 플랫폼에서 java.net 패키지는 네트워크 상에서 두 개의 프로그램 간 양방향 통신에서 한쪽 지점을 구현하는 Socket 클래스를 제공한다. Socket 클래스는 특정 시스템의 세부사항은 감추면서 플랫폼 독립적인 구현의 최상단에 위치한다. 네이티브 코드에 의존하는 대신 java.net.Socket 클래스를 이용해서 플랫폼 독립적인 방식으로 네트워크 상에서 통신할 수 있다. 다음으로 간단히 웹 소켓을 사용하는 예제를 먼저 구현해보고 채팅 프로그램으로 넘어가자. 우선 ..
Socket과 WebSocket 이번 포스팅에서는 socket과 web socket에 대해서 알아보도록 하겠다.각 소켓과 웹 소켓에 대해 알아보고 웹 소켓 프로그래밍 예제를 통해 웹 소켓 프로그래밍을 해보려 한다.네트워크 위에서 프로그램이 동작하기 쉽게 하기 위해서 OSI 7 계층을 나누어서 네트워크를 관리한다.계층별 프로토콜은 통신 규약일 뿐 프로토콜 구현을 위해 구체적인 구현이 필요하다.소켓에서는 함수들의 body를 제공하고 별도의 구현 없이 소켓을 사용할 수 있다.  Socket소켓이란 프로그램이 네트워크에서 데이터를 주고 받을 수 있도록 네트워크 환경에 연결할 수 있게 만들어진 연결부이다.일반적으로 TCP/IP 프로토콜을 이용한다.응용 계층 아래 전송 계층 위에 상주하게 된다. 소켓은 엔드 포인트로 통신의 양 끝단에 존재하게 된..
Nginx 사용해보기 이전 포스팅에서 Nginx에 대해서 알아보았다.이번 포스팅에서는 Nginx를 설치하고 사용해 보는 것을 해보겠다.제대로 사용해보려면 배포된 프로젝트를 로드밸런싱하는 것을 해야 하지만 원래 필자가 배포한 프로젝트가 있었는데 이것저것 하다 보니 요금이 부담돼서 내린 상태이다. 다음에 배포를 다시 하게 된다면 그땐 로드 밸런싱도 꼭 다시 도전해 보기로 하고 이번 포스팅은 엔진엑스를 사용해 보자. Nginx 설치필자는 Mac을 사용 중이라 Mac os 기준으로 진행해 보도록 하겠다.brew install nginx ==> CaveatsDocroot is: /opt/homebrew/var/wwwThe default port has been set in /opt/homebrew/etc/nginx/nginx.conf..
Nginx에 대해서 이번 포스팅에서는 Nginx에 대해서 알아보기로 하자. 우선 웹 서버에 대해서 먼저 알아볼 것이다. 웹 서버란인터넷을 기반으로 웹 서버에게 주소를 가지고 통신 프로토콜에 맞게 요청을 하면 정적 파일을 응답으로 받는다.서버 입장에서는 클라이언트의 요청을 기다리고 웹 요청에 대한 데이터를 만들어 응답한다.데이터는 웹에서 처리 가능한 html, css, 이미지 등의 정적 파일로 한정된다.  위 이미지는 웹 서버의 동작 원리를 볼 수 있다.클라이언트는 자신이 필요한 정적인 페이지의 주소를 가지고 요청을 해 필요한 정적인 데이터를 얻는다.웹 서버는 정적인 페이지만 처리 가능하다는 한계가 있기 때문에 비즈니스 로직이 필요하면 DB 접근 등 동적인 페이지는 처리하지 못한다.이를 위해서 WAS인 Web Applicat..