실제 채팅 응용프로그램을 개발하려면 실시간 데이터 송.수신 시스템을 구축해야한다.
관계형 데이터베이스와 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


