실제 채팅 응용프로그램을 개발하려면 실시간 데이터 송.수신 시스템을 구축해야한다.


관계형 데이터베이스와 Ajax 호출로는 불가능하다.


이것을 쉽게할 수 있는 것이 바로 WebSocket과 socket.io 라이브러리이다.


채팅 프로그램을 만들기 위해서는 다음과 같은 기술을 알아야한다.


1. WebSocket and Socket.io & Node.js


기존 웹에서는 클라이언트가 서버에 요청을 하고, 서버는 요청된 데이터를 처리해 응답하는 단방향성을 지녔다. 

하지만, 이런 일방적인 형태의 시스템으로는 실시간 채팅 앱 개발이 불가능하다.

실시간 채팅같은 경우에는 서버에 메세지 등 이벤트가 들어왔을 때 바로바로 클라이언트들에게 보내줘야하기 때문이다.


WebSocket는 클라이언트와 서버 간의 양방향 통신을 지원하는 프로토콜이다.

WebSocket에서는 클라이언트가 서버에 데이터를 보내는 것뿐만 아니라

서버도 역시 클라이언트에 데이터 전송 및 알림이 가능하다! 

즉, WebSocket은 두 방향으로 열리는 일종의 통신 파이프라고 할 수 있다.


Socket.io는 WebSocket을 쉽게 사용할 수 있도록 제작된 라이브러리입니다.


Node.js는 서버에서 실행되는 자바 백엔드 기술 언어이다. 

자바스크립트는 이벤트를 사용합니다. node.js는 이러한 특수성을 유지하므로 비동기 코드를 작성하기 쉽습니다.

node.js에는 자체 패키지 관리자 인 npm이 함께 제공됩니다. 패키지를 쉽게 설치, 업데이트, 삭제할 수 있습니다.

이 튜토리얼에서는 express.js를 사용하려고합니다. 그것은 node.js 기반의 마이크로 웹 프레임 워크입니다.


2. 개발 환경 세팅


여기선, node.js가 설치되어있다고 가정한다.

원하는 경로에 폴더를 생성한다. 맥의 경우 터미널에서.


$ mkdir createSimpleApp

$ cd createSimpleApp

$ npm init



Posted by sungho88
,