관리 메뉴

ChangHoon's IT Blog

[Node.js] 실시간 채팅 서비스 2 - 서버 실행 본문

Node.js

[Node.js] 실시간 채팅 서비스 2 - 서버 실행

Hoonss 2019. 11. 6. 22:49

안녕하세요

 

이번 강좌에서는 지난번에 설치한 Express 모듈을 사용하여 서버를 실행해보도록 하겠습니다.

 

[목차]

 

1. 모듈 불러오기

2. Express 객체 생성

3. 서버 실행

 


지난 시간에 express 와 socket.io 모듈을 설치하였습니다.

 

폴더에 app.js 파일을 하나 생성해 주세요!

 

app.js 파일에 아래 코드를 입력해 주세요!

(초록색부분은 주석이므로 작성하지 않아도 됩니다.)

 

/* 설치한 express 모듈 불러오기 */ 
 const express = require('express') 
 
 
 /* 설치한 socket.io 모듈 불러오기 */ 
 const socket = require('socket.io') 
 

 /* Node.js 기본 내장 모듈 불러오기 */ 
 const http = require('http') 
 
 
 /* express 객체 생성 */ 
 const app = express() 
 

 /* express http 서버 생성 */ 
 const server = http.createServer(app) 
 
 
 /* 생성된 서버를 socket.io에 바인딩 */ 
 const io = socket(server) 
 
 
 /* 서버를 8080 포트로 listen */ 
 server.listen(8080, function() { 
   console.log('서버 실행 중..') 
 }) 

 

require 을 사용하여 모듈을 불러올 수 있습니다.

마지막 listen 메소드를 통해 원하는 포트번호로 서버를 시작할 수 있습니다.

 

Ctrl + `

단축기를 눌러서 커맨드 창을 열고 아래 명령어를 입력해 줍니다.

 

node app.js

 

서버 실행 중... 이라는 문자가 출력될겁니다.

 

/* 설치한 express 모듈 불러오기 */ 
 const express = require('express') 
 
 
 /* 설치한 socket.io 모듈 불러오기 */ 
 const socket = require('socket.io') 
 
 
 /* Node.js 기본 내장 모듈 불러오기 */ 
 const http = require('http') 
 
 
 /* express 객체 생성 */ 
 const app = express() 
 
 
 /* express http 서버 생성 */ 
 const server = http.createServer(app) 
 
 
 /* 생성된 서버를 socket.io에 바인딩 */ 
 const io = socket(server) 
 
 
 /* Get 방식으로 / 경로에 접속하면 실행 됨 */ 
 app.get('/', function(request, response) { 
   console.log('유저가 / 으로 접속하였습니다!') 
 
 /* 서버를 8080 포트로 listen */ 
 server.listen(8080, function() { 
   console.log('서버 실행 중..') 
 }) 

listen 위에 app.get 부분 코드를 추가해 줍니다.

 

get('/',...)는 서버의 / 경로를 Get 방식으로 접속하면 호출이 됩니다.

 

함수는 request 와 response 객체를 받게 되는데

request 는 클라이언트에서 전달된 데이터와 정보들이 담겨 있습니다.

response 에는 클라이언트에게 응답을 위한 정보가 들어있습니다.

 

response.send(전달 데이터)

 

전달할 데이터를 send()를 통해 전달하면 다시 클라이언트(웹)으로 서버가 데이터를 돌려줍니다.

 

localhost:포트번호

로 접속하면 위와 같이 정상적으로 출력이 될것입니다.

 

오늘 진행할 내용은 모두 마무리 되었습니다.!!

 

다음시간에는 서버에서 html 파일을 응답하는 기능을 구현하도록 하겠습니다.

 

감사합니다.

Comments