diff options
author | Kyle Gunger <corechg@gmail.com> | 2020-02-28 02:21:30 -0500 |
---|---|---|
committer | Kyle Gunger <corechg@gmail.com> | 2020-02-28 02:21:30 -0500 |
commit | a4d0d1190b74cd1bfb596b8a02a2deacce3ad86c (patch) | |
tree | b46f341f3e57102ee9e20d352cfc4f0dd5b48cad /scripts/sock.js | |
parent | 87ce9d1c162ac9606a9b4d817a5f3b486889a46f (diff) |
Fix mobile + Lobby omments
Diffstat (limited to 'scripts/sock.js')
-rw-r--r-- | scripts/sock.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/scripts/sock.js b/scripts/sock.js new file mode 100644 index 0000000..78c4195 --- /dev/null +++ b/scripts/sock.js @@ -0,0 +1,52 @@ +function SockWorker(serveraddr, version, callback) { + this.server = serveraddr; + this.version = version; + this.cb = callback; +} + +SockWorker.prototype = { + init: function() { + if(this.server == "" || this.server == null) { + return; + } + try { + this.socket = new WebSocket(this.server); + + this.socket.addEventListener("open", this.o.bind(this)); + this.socket.addEventListener("message", this.msg.bind(this)); + + this.socket.addEventListener("closed", this.c.bind(this)); + this.socket.addEventListener("error", this.err.bind(this)); + } catch (e) { + this.err(); + } + }, + + o: function() { + this.send("version", this.version); + }, + + msg: function(e) { + if(typeof e.data == "string") { + var dat = JSON.parse(e.data) + this.cb(dat); + } + }, + + c: function() { + this.cb({type: "close", data: ""}); + }, + + err: function() { + this.cb({type: "error", data: ""}); + }, + + close: function() { + this.socket.close(); + }, + + send: function(type, data) { + var m = new Message(type, data); + this.socket.send(m.stringify()) + } +};
\ No newline at end of file |