Index: web/testclient/draw.html
===================================================================
--- web/testclient/draw.html (nonexistent)
+++ web/testclient/draw.html (revision 5234)
@@ -0,0 +1,14 @@
+
+
+
+
+ Document drawing text
+
+
+
+
+ Document drawing
+
+
+
+
Index: web/testclient/draw.js
===================================================================
--- web/testclient/draw.js (nonexistent)
+++ web/testclient/draw.js (revision 5234)
@@ -0,0 +1,52 @@
+//drawRemoteFile("../testdata/netlist.pcb.remote");
+drawRemoteFile("../testdata/line_normal.pcb.remote");
+
+
+function drawRemoteFile(url) {
+ var crctx = document.getElementById("canvas").getContext("2d");
+ var req = new XMLHttpRequest();
+ req.onreadystatechange = function () {
+ if (req.readyState === XMLHttpRequest.DONE && req.status === 200) {
+ console.log("drawing", url);
+ drawBuffer(new Uint8Array(req.response), crctx);
+ }
+ };
+ req.responseType = 'arraybuffer';
+ req.open("GET", url);
+ req.send();
+}
+
+
+function drawBuffer(buffer, crctx) {
+ let ge = new GraphicEngine({
+ comm: new TestComm(),
+ canvas: crctx,
+ colors: {
+ erase: "black",
+ drill: "green"
+ }
+ });
+
+ let parser = new protocol.ProtocolParser();
+ parser.onCommand = function (cmd, args) {
+ ge.onMessage(cmd, args);
+ };
+ parser.onError = function (pos, err) {
+ console.log("parser error: msg[%d]: ", pos, err);
+ };
+
+ parser.parse(buffer);
+}
+
+
+function TestComm() {
+ this.send = function(cmd, args) {
+ console.log("send", cmd, args);
+ }
+ this.error = function (msg) {
+ console.log("error:", msg);
+ }
+ this.disconnect = function () {
+ console.log("client disconnected");
+ }
+}
Index: web/testclient/index.html
===================================================================
--- web/testclient/index.html (revision 5233)
+++ web/testclient/index.html (revision 5234)
@@ -1,19 +1,12 @@
-
-
+
+
+
-
- Test client for websocket
+
+ Test selector
- Websocket test
- Press Shift-Ctrl-C to open the debug console.
- Say something to the server
-
-
-
-
-
- Messages from the server
-
+ Drawing test
+ Websocket test
-
\ No newline at end of file
+
Index: web/testclient/sockets.html
===================================================================
--- web/testclient/sockets.html (nonexistent)
+++ web/testclient/sockets.html (revision 5234)
@@ -0,0 +1,19 @@
+
+
+
+
+ Websocket test
+
+
+ Websocket test
+ Press Shift-Ctrl-C to open the debug console.
+ Say something to the server
+
+
+
+
+
+ Messages from the server
+
+
+
\ No newline at end of file
Index: web/testclient/sockets.js
===================================================================
--- web/testclient/sockets.js (nonexistent)
+++ web/testclient/sockets.js (revision 5234)
@@ -0,0 +1,60 @@
+var echoText = document.getElementById("echo-text");
+var echoResponse = document.getElementById("echo-response");
+
+
+function sendToEcho() {
+ console.log("client calls ", echoText.value);
+ serverEchoSocket.send(echoText.value);
+ echoText.value = "";
+}
+
+
+function getWebSocketUrl(relpath) {
+ var loc = window.location, url;
+ if (loc.protocol === "https:") {
+ url = "wss:";
+ } else {
+ url = "ws:";
+ }
+ url += "//" + loc.host + "/" + relpath;
+ return url;
+}
+
+
+var serverEchoSocket =
+ new WebSocket(getWebSocketUrl("serverecho"), "remote-hid-protocol");
+serverEchoSocket.onopen = function (event) {
+ console.log("server echo socket is connected to", serverEchoSocket.url);
+};
+serverEchoSocket.onclose = function (event) {
+ console.log("server echo socket is closed");
+};
+serverEchoSocket.onerror = function (event) {
+ console.log("server echo socket error", event);
+};
+serverEchoSocket.onmessage = function (event) {
+ console.log("server echoes", event.data);
+ echoResponse.value = event.data;
+};
+
+
+var clientEchoSocket =
+ new WebSocket(getWebSocketUrl("clientecho"), "remote-hid-protocol");
+clientEchoSocket.onopen = function (event) {
+ console.log("client echo socket is connected to", clientEchoSocket.url);
+};
+clientEchoSocket.onclose = function (event) {
+ console.log("client echo socket is closed");
+};
+clientEchoSocket.onerror = function (event) {
+ console.log("client echo socket error", event);
+};
+clientEchoSocket.onmessage = function (event) {
+ console.log("client echoes", event.data);
+ var div = document.createElement("div");
+ div.appendChild(document.createTextNode(event.data));
+ document.body.appendChild(div);
+ clientEchoSocket.send(event.data);
+};
+
+