[javascript] P5.js에서 웹소켓과의 통신을 어떻게 구현하나요?
p5.js는 HTML5 기반의 자바스크립트 그래픽 라이브러리로, 웹 애플리케이션의 그래픽적 표현을 담당합니다. p5.js에서 웹소켓과의 통신을 구현하기 위해서는 웹소켓 API를 사용해야 합니다.
- 웹소켓 연결 설정
먼저, 웹소켓을 사용하기 위해서는 웹소켓 서버에 연결해야 합니다. p5.js에서는
new WebSocket()
을 사용하여 웹소켓 객체를 생성합니다. 연결할 서버의 URL을 매개변수로 전달하여 객체를 생성합니다.
let socket;
function setup() {
socket = new WebSocket('ws://localhost:3000');
}
- 연결 이벤트 처리
WebSocket
객체를 생성한 후에는 연결 상태 변화를 감지하고 처리해야 합니다. 이를 위해onopen
,onclose
,onmessage
,onerror
등의 이벤트 핸들러를 정의합니다. 이 예제에서는onopen
이벤트 핸들러를 사용하여 연결에 성공했을 때 동작을 수행합니다.
socket.onopen = function(event) {
console.log("Connected to server.");
}
- 메시지 전송하기
연결이 성공적으로 이루어지면, 클라이언트는 서버로 메시지를 전송할 수 있습니다.
send()
메서드를 사용하여 메시지를 전송합니다.
socket.send('Hello, server!');
- 메시지 수신 처리
서버로부터 메시지를 수신하면 클라이언트는 이를 처리해야 합니다.
onmessage
이벤트 핸들러를 사용하여 메시지를 수신하고 처리할 수 있습니다.
socket.onmessage = function(event) {
let data = event.data;
console.log("Received message from server:", data);
}
- 연결 종료 처리
연결을 종료하려면
close()
메서드를 호출합니다. 연결을 닫을 때 동작을 정의하기 위해onclose
이벤트 핸들러를 사용할 수 있습니다.
socket.onclose = function(event) {
console.log("Disconnected from server.");
}
이제 위의 단계를 따라 웹소켓 통신을 p5.js 애플리케이션에 구현할 수 있습니다. 웹소켓을 사용하면 서버와의 실시간 데이터 교환을 편리하게 할 수 있으며, 동적인 그래픽 표현과 상호작용을 구현하는 데에 유용합니다.
참고 자료: