WebSocket을 사용한 채팅 앱: 상용구 코드




GitHub: https://github.com/Sokhavuth/chat
헤로쿠: https://khmerweb-chat.herokuapp.com/

WebSocket은 서버와 클라이언트 간의 실시간 데이터 전송을 용이하게 하는 인터넷 프로토콜입니다. 서버와 클라이언트 간의 연결이 설정되면 이 연결은 열린 상태로 유지되어 두 당사자 간의 자유로운 데이터 흐름을 허용합니다. 결과적으로 WebSocket 프로토콜은 예를 들어 채팅 응용 프로그램과 같이 지속적인 실시간 데이터 전송이 필요한 응용 프로그램을 만드는 데 매우 유용합니다.

평소와 같이 Node.js에서 애플리케이션 빌드를 시작하려면 터미널 창에 다음과 같이 작성하여 먼저 package.json을 생성해야 합니다.


npm init


결과적으로 package.json 파일이 생성되고 내부에 유용한 정보가 있습니다.


// package.json

{
  "name": "chat-app",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Node.js에서 WebSocket 프로토콜을 사용하여 채팅 애플리케이션을 구축하려면 Express.js 웹 프레임워크와 함께 Socket.io 패키지를 사용할 수 있습니다.


npm install express socket.io


다음으로 채팅 애플리케이션의 진입점으로 index.js 파일을 만들 수 있습니다.


// index.js
// npm install express
// npm install socket.io
// npm install nodemon

const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);


const port = process.env.PORT || 3000;

app.get('/', (req, res) => {
  res.send('<h4>Welcome to Khmer Web Chat App!</h4>');
});

server.listen(port, () => {
  console.log(`listening on *${port}`);
});


채팅 응용 프로그램을 실행하려면 nodemon 패키지를 사용할 수 있습니다. 코드에서 무언가를 변경할 때마다 프로그램을 다시 시작하는 데 도움이 되기 때문입니다. 그렇지 않으면 코드를 변경할 때마다 애플리케이션을 수동으로 다시 시작합니다.


npm install nodemon


한 가지 더 해야 할 일은 nodemon 모듈을 올바르게 사용할 수 있도록 package.json에 코드 줄을 추가하는 것입니다.


{
  "name": "chat-app",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon index.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.18.1",
    "nodemon": "^2.0.19",
    "socket.io": "^4.5.1"
  }
}


마지막으로 채팅 응용 프로그램을 시작하려면 터미널 창에 아래와 같이 명령을 작성합니다.


npm start

좋은 웹페이지 즐겨찾기