]> git.sesse.net Git - ultimatescore/blobdiff - score.js
Change to communicating over WebSockets instead of over ACMP.
[ultimatescore] / score.js
index deae9d8ad9824a4da5c7e7e514daaeb1049e193f..85ab488b39d9a17f05ee9a81bcb86c787f85c3f7 100644 (file)
--- a/score.js
+++ b/score.js
@@ -241,3 +241,40 @@ update_score();
 
 //play();
 //startclock();
+
+let websocket = null;
+
+function open_ws()
+{
+       console.log("Connecting...");
+       try {
+               if (websocket)
+                       websocket.close();
+               websocket = new WebSocket("ws://127.0.0.1:5250/");
+               websocket.onopen = function(evt) {
+                       console.log("Connected to client.");
+               };
+               websocket.onclose = function(evt) {
+                       console.log("Disconnected from client.");
+                       setTimeout(open_ws, 100);
+               };
+               websocket.onmessage = function(evt) {
+                       let msg = evt.data;
+                       let m = msg.match(/^update (.*)/);
+                       if (m !== null) {
+                               update(m[1]);
+                       }
+                       m = msg.match(/^eval (.*)/);
+                       if (m !== null) {
+                               eval(m[1]);
+                       }
+               };
+               websocket.onerror = function(evt) {
+                       console.log('Error: ' + evt.data);
+               };
+       } catch (exception) {
+               console.log('Error: ' + exception);
+               setTimeout(open_ws, 100);
+       }
+};
+open_ws();