Websocket wrapper

Websocket wrapper class with WebSocket.IN api

이 스크립트는 직접 설치해서 쓰는 게 아닙니다. 다른 스크립트가 메타 명령 // @require https://update.greatest.deepsurf.us/scripts/408004/935287/Websocket%20wrapper.js(으)로 포함하여 쓰는 라이브러리입니다.

질문, 리뷰하거나, 이 스크립트를 신고하세요.
/*
Websocket wrapper class with WebSocket.IN api
*/

class WebSocketIn {
  constructor(channelId) {
    this.channelId = channelId;
    this.ws = null;
    this.connect();
  }

  connect() {
    const APIKEY = 'QipkWZUSG1D0KxYxHs3lp8vm6iTwa4Dv7xgG9PHpbQ56QmqKdaQVhi4DK1A8';
    const url = `ws:/172.16.0.217:1880/v3/${this.channelId}?apiKey=${APIKEY}`;
    this.ws = new WebSocket(url);
    console.log(`Connecting to: ${url}`);

    this.ws.onmessage = (event) => {
      this.onmessage(event);
    };

    this.ws.onopen = () => {
      console.log('Websocket connected!');
    };

    this.ws.onerror = (err) => {
      console.log(`Websocket error: ${err.message}`);
      this.ws.close();
    };

    this.ws.onclose = () => {
      console.log('Websocket closed!');
      setTimeout(() => {
        this.connect();
      }, 2500);
    };
  }

  onmessage(event) {
    console.log('parent');
    console.log(event.data);
  }

  send(data) {
    this.ws.send(data);
  }
}