Node.js를 사용한 WebSockets에 대한 빠른 소개
7548 단어 beginnersjavascriptnodewebdev
소개
WebSocket을 사용하면 기존 HTTP 프로토콜을 사용하지 않고도 네트워크를 통해 데이터를 보내고 받을 수 있습니다. WebSocket을 사용하여 실시간 애플리케이션을 구축할 수 있습니다. 예를 들어 새 메시지를 보기 위해 페이지를 새로 고치지 않고도 다른 사용자에게 메시지를 보낼 수 있습니다.
우리는
ws
라이브러리를 사용할 것입니다. WebSockets 서버 및 클라이언트를 생성할 수 있는 Node.js 모듈입니다.전제 조건
시작하기 전에 Node.js가 설치되어 있는지 확인하세요.
설정
ws
라이브러리를 설치하려면 다음 명령을 실행해야 합니다.npm install ws
다음으로
server.js
라는 새 파일을 만들고 즐겨 사용하는 텍스트 편집기에서 엽니다.WebSocket 서버 생성
server.js
파일에서 다음 코드를 생성합니다.const WebSocket = require('ws')
const wss = new WebSocket.Server({ port: 8081 })
wss.on('connection', function connection(ws) {
console.log('Client connected')
const interval = setInterval(() => {
ws.send('hello world')
}, 1000)
ws.on("close", () => {
console.log("Client disconnected");
});
ws.onerror = function () {
console.log("Some Error occurred");
}
});
코드 요약:
const WebSocket = require('ws')
: ws
모듈을 가져옵니다. const wss = new WebSocket.Server({ port: 8081 })
: 포트 8081에서 새 WebSocket 서버를 만듭니다. wss.on('connection', function connection(ws) {
: 새 클라이언트가 서버에 연결하면 connection
이벤트가 발생합니다. const interval = setInterval(() => {
: 1초마다 클라이언트에 메시지를 보내는 새 간격을 만듭니다. ws.send('hello world')
: 클라이언트에 메시지를 보냅니다. ws.on("close", () => {
: 클라이언트 연결이 끊어지면 close
이벤트가 발생합니다. ws.onerror = function () {
: 오류가 발생하면 onerror
이벤트가 발생합니다. 그런 식으로 우리는 서버가 매 초마다 클라이언트에 메시지를 보내는 스트리밍 애플리케이션을 시뮬레이트합니다.
그런 다음 서버를 시작하려면 다음 명령을 실행합니다.
node server.js
다음으로 서버를 실행 상태로 두고 클라이언트를 준비할 새 터미널 창을 엽니다.
WebSocket 클라이언트 생성
client.js
파일이라는 새 파일에 다음 코드를 추가합니다.const WebSocket = require('ws')
const ws = new WebSocket('ws://localhost:8081')
ws.on('open', function open() {
ws.on('message', function message(data) {
console.log(`${data}`);
});
});
위의 코드는 새 WebSocket 클라이언트를 만들고 포트 8081에서 서버에 연결합니다.
서버에서 메시지를 받으면
message
이벤트가 발생합니다.클라이언트를 테스트하려면 다음 명령을 실행합니다.
node client.js
다음 출력이 표시되어야 합니다.
hello world
hello world
hello world
...
예시:
결론
이것은 Node.js와 함께 WebSocket을 사용하는 방법에 대한 간단한 예입니다.
WebSocket에 대해 자세히 알아보려면 official documentation 을 확인하십시오.
WebSocket이 Laravel과 어떻게 작동하는지 보려면 다음 튜토리얼을 확인하십시오.
Laravel WebSockets
더 자세히 알아보려면 SSE와 WebSockets의 차이점에 대한 다음 자습서를 살펴보는 것이 좋습니다.
SSE vs WebSockets
Reference
이 문제에 관하여(Node.js를 사용한 WebSockets에 대한 빠른 소개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bobbyiliev/quick-introduction-to-websockets-with-nodejs-2klh텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)