GoLang 및 WebAssembly를 사용하여 채팅 서비스 구축(4부)
2768 단어 gowebsocketwebassemblychat
소스 코드 => Github Link
웹소켓이란?
Websocket은 사용하기 쉽고 빠르고 테스트된 WebSocket 클라이언트 및 서버 구현입니다.
Websocket 사양은 웹 브라우저와 서버 간의 연결을 설정하는 API를 정의합니다. WebSocket은 실시간 게임, 채팅 애플리케이션, 주식 데이터 표시 등에 사용됩니다.
NodeJS와 웹소켓
NodeJS는 Chrome의 V8 JavaScript 엔진에 구축된 JavaScript 런타임입니다. NodeJS로 WebSocket 서버 구현을 쉽게 구축할 수 있습니다.
기존의 HTTP는 클라이언트 요청에 의존하므로 요청을 서버로 보낸 다음 응답을 받아야 하지만 WebSocket에서는 양방향으로 호출하는 서버에서 직접 클라이언트로 데이터를 보낼 수 있습니다.
Websockets: HTTP에 대한 이벤트 중심의 웹 친화적 대안입니다. Websocket은 매번 서버에서 데이터를 가져오기 위해 클라이언트 요청이 필요하지 않습니다.
NodeJS로 WebSocket 서버 구축
전제 조건으로 시스템에 Nodejs와 NPM이 설치되어 있어야 합니다. 없는 경우 여기에서 다운로드하여 설치하십시오: https://nodejs.org/en/download/
1) NodeJ를 사용할 준비가 되면 터미널을 열고 다음 명령을 입력합니다.
mkdir webSocketServer && cd webSocketServer
2) nodejs 프로젝트 환경을 만듭니다.
npm init -y
3) 다음으로 다음 명령을 실행하여 ws 라이브러리를 종속 항목으로 설치합니다.
npm install ws
4) 예를 들어 "webSocketServer.js"와 같은 javascript 파일을 생성하고 웹 서버 생성을 위한 다음 코드를 붙여넣습니다.
// Importing the required modules
const WebSocketServer = require('ws');
// Creating a new websocket server
const wss = new WebSocketServer.Server({ port: 8080 })
// Creating connection using websocket
wss.on("connection", ws => {
console.log("new client connected");
// sending message
ws.on("message", data => {
console.log(`Client has sent us: ${data}`)
});
// handling what to do when clients disconnects from server
ws.on("close", () => {
console.log("the client has connected");
});
// handling client connection error
ws.onerror = function () {
console.log("Some Error occurred")
}
});
console.log("The WebSocket server is running on port 8080");
이 코드는 기본 WebSocket 서버를 생성하며 WebSocket 서버를 생성하는 동안 원하는 포트를 제공할 수 있습니다.
5) 테스트를 위해 터미널을 열고 다음을 입력합니다.
node webSocketServer.js
참조:
1) piesocket.com
5부에서는 Golang WebAssembly로 WebSocket 클라이언트 측 서비스를 작성하고 WebSocket nodejs 서버 측에 연결하겠습니다😉
Reference
이 문제에 관하여(GoLang 및 WebAssembly를 사용하여 채팅 서비스 구축(4부)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/taherfattahi/build-a-chat-service-using-golang-and-webassembly-part-4-5bka텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)