[javascript] P5.js에서 웹소켓과의 통신을 어떻게 구현하나요?

p5.js는 HTML5 기반의 자바스크립트 그래픽 라이브러리로, 웹 애플리케이션의 그래픽적 표현을 담당합니다. p5.js에서 웹소켓과의 통신을 구현하기 위해서는 웹소켓 API를 사용해야 합니다.

  1. 웹소켓 연결 설정 먼저, 웹소켓을 사용하기 위해서는 웹소켓 서버에 연결해야 합니다. p5.js에서는 new WebSocket()을 사용하여 웹소켓 객체를 생성합니다. 연결할 서버의 URL을 매개변수로 전달하여 객체를 생성합니다.
let socket;

function setup() {
  socket = new WebSocket('ws://localhost:3000');
}
  1. 연결 이벤트 처리 WebSocket 객체를 생성한 후에는 연결 상태 변화를 감지하고 처리해야 합니다. 이를 위해 onopen, onclose, onmessage, onerror 등의 이벤트 핸들러를 정의합니다. 이 예제에서는 onopen 이벤트 핸들러를 사용하여 연결에 성공했을 때 동작을 수행합니다.
socket.onopen = function(event) {
  console.log("Connected to server.");
}
  1. 메시지 전송하기 연결이 성공적으로 이루어지면, 클라이언트는 서버로 메시지를 전송할 수 있습니다. send() 메서드를 사용하여 메시지를 전송합니다.
socket.send('Hello, server!');
  1. 메시지 수신 처리 서버로부터 메시지를 수신하면 클라이언트는 이를 처리해야 합니다. onmessage 이벤트 핸들러를 사용하여 메시지를 수신하고 처리할 수 있습니다.
socket.onmessage = function(event) {
  let data = event.data;
  console.log("Received message from server:", data);
}
  1. 연결 종료 처리 연결을 종료하려면 close() 메서드를 호출합니다. 연결을 닫을 때 동작을 정의하기 위해 onclose 이벤트 핸들러를 사용할 수 있습니다.
socket.onclose = function(event) {
  console.log("Disconnected from server.");
}

이제 위의 단계를 따라 웹소켓 통신을 p5.js 애플리케이션에 구현할 수 있습니다. 웹소켓을 사용하면 서버와의 실시간 데이터 교환을 편리하게 할 수 있으며, 동적인 그래픽 표현과 상호작용을 구현하는 데에 유용합니다.

참고 자료: