일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- CSS
- css position
- 프론트엔드
- html 코드
- javascript opreator
- 자바스크립트 실행 컨텍스트
- 자바스크립트 async await
- 프론트엔드 리액트
- html 주석
- javascript
- 자바스크립트 반복문
- 자바스크립트 promise
- 웹 개발 트렌드
- 자바스크립트 연산자
- 리액트 함수형 컴포넌트
- javascript opreators
- 자바스크립트 클로저
- 자바스크립트 프로미스
- javascript closure
- css3
- HTML
- 자바스크립트
- css 포지션
- 자바스크립트 상속
- 자바스크립트 scope
- 리액트 개념
- 오블완
- 자바스크립트 클래스
- 티스토리챌린지
- 자바스크립트 생성자 함수
- Today
- Total
Multi Developer SuHo
Node.js net 모듈을 활용한 간단한 TCP 서버 구축 본문
안녕하세요 Node.js 에서 제공하는 net 모듈을 이용하여 간단한 TCP 서버를 구축해보겠습니다.
📑목차
1. net 모듈을 활용한 서버 구축
1-1. net 모듈이란?
1-2. 코드 실행 구조
1-3. net 모듈을 활용한 서버 구축 코드
1-4. 실행 화면
1. net 모듈을 활용한 서버 구축
1-1. net 모듈이란?
Node.js 에서 TCP 소켓 서버를 구축할 수 있도록 도와주는 제공해주는 내장 모듈
실제로 node.js 사이트에서도 공식적으로 표기되어 있습니다.
https://nodejs.org/api/net.html
Net | Node.js v23.8.0 Documentation
Net# Source Code: lib/net.js The node:net module provides an asynchronous network API for creating stream-based TCP or IPC servers (net.createServer()) and clients (net.createConnection()). It can be accessed using: import net from 'node:net';const net = r
nodejs.org
1-2. 코드 실행 구조
1️⃣클라이언트가 서버에 접속하면 코드에서 net.createServer( ) 내부의 콜백함수를 실행합니다.
2️⃣클라이언트가 데이터를 전송하면 코드에 해당하는 data 이벤트를 발생시킵니다. 그리고 서버는 HTTP 응답 형식으로 3️⃣HTML을 작성한 후 클라이언트에게 전송합니다.
4️⃣클라이언트는 요청을 받고 서버와의 논리적 연결을 끊습니다.
5️⃣이후 user.end( ) 를 호출하여 연결을 끊게 됩니다.
1-3. net 모듈을 이용한 서버 구축 코드
net.js 소스코드
// net 내장 모듈을 사용한 서버 구축
const net = require('net');
// console.log(net);
// 포트 번호를 정의하는 Port 선언
const Port = 3000;
// 서버 객체 생성
const server = net.createServer((user) => {
console.log(user);
user.setEncoding("utf-8");
// 클라이언트가 요청 메시지를 전송했을 때 콜백함수가 실행
user.on('data', (data) => {
console.log(data);
// middle 즉, body 내용이 온다.
const midddle = `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0 auto;
padding: 0;
}
.total {
width: 100%;
height: 100vh;
background-color: aqua;
}
</style>
</head>
<body>
<div class="container">
<div class="total">나야 참기름</div>
</div>
</body>
</html>`;
// 요청 받을 부분을 작성
const resbody = `HTTP/1.1 200 OK
Content-Type: text/html
Content-Length : ${midddle.length}
${midddle}`
// 클라이언트가 응답 헤더를 받은 데이터를 화면에 출력
user.write(resbody);
// 요청을 받고 나서 클라이언트와 서버간의 논리적 연결을 끊음
// 1요청, 1응답
user.end();
})
})
server.listen(Port,() => {
console.log("서버가 구동중...");
})
1-4. 실행 화면
먼저 node 환경에서 서버를 구동시킵니다.
'Node.js 기록' 카테고리의 다른 글
Node JS EJS(Embedded JavaScript) 템플릿 엔진에 대하여... (0) | 2025.02.27 |
---|---|
Node js http 모듈을 활용한 간단한 서버 구축 (0) | 2025.02.24 |
Node js fs 모듈로 파일 시스템 처리를 통한 CRUD 제어 (0) | 2025.02.21 |
Node JS 버퍼(Buffer), 스트림(Stream) 개념 정리📑 (0) | 2025.02.20 |
Node.js 란 무엇인가? (0) | 2025.02.18 |