UNPKG

colyseus.js

Version:

Colyseus Multiplayer SDK for JavaScript/TypeScript

46 lines 1.66 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.WebSocketTransport = void 0; const ws_1 = __importDefault(require("ws")); const WebSocket = globalThis.WebSocket || ws_1.default; class WebSocketTransport { constructor(events) { this.events = events; } send(data) { this.ws.send(data); } sendUnreliable(data) { console.warn("colyseus.js: The WebSocket transport does not support unreliable messages"); } /** * @param url URL to connect to * @param headers custom headers to send with the connection (only supported in Node.js. Web Browsers do not allow setting custom headers) */ connect(url, headers) { try { // Node or Bun environments (supports custom headers) this.ws = new WebSocket(url, { headers, protocols: this.protocols }); } catch (e) { // browser environment (custom headers not supported) this.ws = new WebSocket(url, this.protocols); } this.ws.binaryType = 'arraybuffer'; this.ws.onopen = this.events.onopen; this.ws.onmessage = this.events.onmessage; this.ws.onclose = this.events.onclose; this.ws.onerror = this.events.onerror; } close(code, reason) { this.ws.close(code, reason); } get isOpen() { return this.ws.readyState === WebSocket.OPEN; } } exports.WebSocketTransport = WebSocketTransport; //# sourceMappingURL=WebSocketTransport.js.map