상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - Node.js에서 Sockets을 사용하는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Node.js에서 소켓을 사용하는 방법은 주로 `net` 모듈과 `socket.io` 라이브러리를 통해 이루어집니다. 이 두 가지 방법은 각각 TCP 소켓과 <a href='https://sangseek.com/sangseeks/웹 소켓/ko'>웹 소켓</a>을 사용하여 실시간 통신을 가능하게 합니다. 아래에서는 이 두 가지 방법에 대해 자세히 설명하겠습니다. 1. TCP 소켓 사용하기 (`net` 모듈) Node.js의 기본 모듈 중 하나인 `net` 모듈을 사용하면 TCP 소켓 서버와 클라이언트를 쉽게 만들 수 있습니다. TCP 소켓은 주로 서버와 클라이언트 간의 안정적인 데이터 전송을 위해 사용됩니다. TCP 서버 만들기 ```javascript const net = require('net'); const server = net.createServer((socket) => { console.log('클라이언트가 연결되었습니다.'); socket.on('data', (data) => { console.log('받은 데이터:', data.<a href='https://sangseek.com/sangseeks/toString()/ko'>toString()</a>()); // 클라이언트에게 응답 socket.write('서버에서 응답: ' + data); }); socket.on('end', () => { console.log('클라이언트 연결 종료'); }); }); server.listen(8080, () => { console.log('서버가 8080 포트에서 <a href='https://sangseek.com/sangseeks/대기/ko'>대기</a> 중입니다.'); }); ``` TCP 클라이언트 만들기 ```javascript const net = require('net'); const client = new net.Socket(); client.connect(8080, '127.0.0.1', () => { console.log('서버에 연결되었습니다.'); client.write('안녕하세요, 서버!'); }); client.on('data', (data) => { console.log('서버로부터 받은 데이터:', data.toString()); client.destroy(); // 서버와의 연결 종료 }); client.on('close', () => { console.log('연결이 종료되었습니다.'); }); ``` 2. 웹 소켓 사용하기 (`socket.io`) 웹 소켓은 클라이언트와 서버 간의 양방향 통신을 가능하게 하는 프로토콜입니다. `socket.io`는 웹 소켓을 쉽게 사용할 수 있도록 도와주는 라이브러리로, 다양한 브라우저와의 호환성을 제공합니다. Socket.io 서버 만들기 먼저, `socket.io`를 설치해야 합니다. ```bash npm install socket.io ``` 이제 서버를 설정해 보겠습니다. ```javascript const express = require('express'); const http = require('http'); const socketIo = require('socket.io'); const app = express(); const server = http.createServer(app); const io = socketIo(server); io.on('connection', (socket) => { console.log('클라이언트가 연결되었습니다.'); socket.on('message', (msg) => { console.log('받은 메시지:', msg); // 클라이언트에게 응답 socket.emit('message', '서버에서 응답: ' + msg); }); socket.on('disconnect', () => { console.log('클라이언트 연결 종료'); }); }); server.listen(3000, () => { console.log('서버가 3000 포트에서 대기 중입니다.'); }); ``` Socket.io 클라이언트 만들기 클라이언트 측에서는 HTML 파일을 사용하여 Socket.io를 사용할 수 있습니다. ```html <!DOCTYPE html> <html lang="ko"> <head> <meta charset="U<a href='https://sangseek.com/sangseeks/TF/ko'>TF</a>-8"> <title>Socket.io 클라이언트</title> <script src="/socket.io/socket.io.js"></script> <script> const socket = io(); socket.on('connect', () => { console.log('서버에 연결되었습니다.'); socket.send('안녕하세요, 서버!'); }); socket.on('message', (msg) => { console.log('서버로부터 받은 메시지:', msg); }); </script> </head> <body> <h1>Socket.io 클라이언트</h1> </body> </html> ``` 결론 Node.js에서 소켓을 사용하는 방법은 다양합니다. TCP 소켓을 사용하면 안정적인 데이터 전송이 가능하고, 웹 소켓을 사용하면 실시간 양방향 통신이 가능합니다. `net` 모듈과 `socket.io` 라이브러리를 통해 각각의 요구 사항에 맞는 소켓 통신을 구현할 수 있습니다. 이러한 기능들은 채팅 애플리케이션, 실시간 데이터 스트리밍, 게임 서버 등 다양한 분야에서 활용될 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기