Index: work/remote/web/testclient/draw.html =================================================================== --- work/remote/web/testclient/draw.html (nonexistent) +++ work/remote/web/testclient/draw.html (revision 5234) @@ -0,0 +1,14 @@ + + + + + Document drawing text + + + + +

Document drawing

+ + + + Index: work/remote/web/testclient/draw.js =================================================================== --- work/remote/web/testclient/draw.js (nonexistent) +++ work/remote/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: work/remote/web/testclient/index.html =================================================================== --- work/remote/web/testclient/index.html (revision 5233) +++ work/remote/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: work/remote/web/testclient/sockets.html =================================================================== --- work/remote/web/testclient/sockets.html (nonexistent) +++ work/remote/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: work/remote/web/testclient/sockets.js =================================================================== --- work/remote/web/testclient/sockets.js (nonexistent) +++ work/remote/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); +}; + +