UNPKG

colyseus.js

Version:

Colyseus Multiplayer SDK for JavaScript/TypeScript

46 lines (42 loc) 1.44 kB
// colyseus.js@0.16.15 'use strict'; var NodeWebSocket = require('ws'); const WebSocket = globalThis.WebSocket || NodeWebSocket; 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