@krp-races/krp-node-wrapper
Version:
A node.js wrapper for a dedicated or challenge server in kart racing pro.
22 lines (19 loc) • 745 B
JavaScript
var dgram = require('dgram');
var events = require('events');
class SocketWrapper extends events.EventEmitter {
constructor(options) {
super();
this.options = options;
this.socket = dgram.createSocket(options.type);
// Forward events
this.socket.on("close", () => this.emit("close"));
this.socket.on("connect", () => this.emit("connect"));
this.socket.on("error", (err) => this.emit("error", err));
this.socket.on("listening", () => this.emit("listening"));
this.socket.on("message", (...args) => this.emit("message", ...args));
}
send(msg) {
this.socket.send(msg, this.options.port, this.options.host);
}
}
exports.SocketWrapper = SocketWrapper;