pax_global_header 0000666 0000000 0000000 00000000064 14133252214 0014507 g ustar 00root root 0000000 0000000 52 comment=80b0e71cfbb42e988ad2f6474143ea6f4ee1630a ufr-online-javascript-websocket-client-master/ 0000775 0000000 0000000 00000000000 14133252214 0022026 5 ustar 00root root 0000000 0000000 ufr-online-javascript-websocket-client-master/README.md 0000664 0000000 0000000 00000000600 14133252214 0023301 0 ustar 00root root 0000000 0000000 # ufr-online-javascript-websocket-client Javascript WebSocket Client example. ## Run Put uFR Online Reader in Async mode without any prefix or suffix (uFR_Online - Quick_Start_Guide.pdf document - uFR Reader Async UID send mode section). Open websocket_client.html in browser Enter uFR Online address and port (eg. ws://xxx.xxx.xxx.xxx:8881) Put card on reader and wait for beep ufr-online-javascript-websocket-client-master/websocket_client.css 0000664 0000000 0000000 00000000143 14133252214 0026062 0 ustar 00root root 0000000 0000000 table, th, td { border: 1px solid black; border-collapse: collapse; text-align: center; } ufr-online-javascript-websocket-client-master/websocket_client.html 0000664 0000000 0000000 00000001226 14133252214 0026241 0 ustar 00root root 0000000 0000000WebSocket client example - Real time event preview
WebSocket example - Real time event preview (uFR Online is working in server mode)
uFR Online Websocket address:
Status: Disconnected
ufr-online-javascript-websocket-client-master/websocket_client.js 0000664 0000000 0000000 00000003564 14133252214 0025720 0 ustar 00root root 0000000 0000000 var ws; var beepArray = new Uint8Array(7); beepArray[0] = 0x55; beepArray[1] = 0x26; beepArray[2] = 0xaa; beepArray[3] = 0x00; beepArray[4] = 0x01; beepArray[5] = 0x01; beepArray[6] = 0xe0; var nullArray = new Uint8Array(1); nullArray [0] = 0xFF; function connect(e) { if (e.innerHTML == "Connect") { var address = document.getElementById("address").value; ws = new WebSocket(address); ws.binaryType = 'arraybuffer'; ws.onopen = function() { console.log('Websocket is connected ...') document.getElementById("status").innerHTML = "Status: Connected"; document.getElementById("btn").innerHTML = "Disconnect"; ws.send(nullArray.buffer); } ws.onclose = function() { console.log('Websocket is disconnected ...') document.getElementById("status").innerHTML = "Status: Disconnected"; document.getElementById("btn").innerHTML = "Connect"; } ws.onmessage = function(ev) { console.log('Websocket message...') var uint8Array = new Uint8Array(ev.data); const array = Array.from(uint8Array); if (array.length > 0 && array[0] != 0xDE && array[2] != 0xED) { addRow(bin2string(array)) ws.send(beepArray.buffer); } else { } } } else { ws.close(); } } function addRow(uid) { let tableRef = document.getElementById("preview") let newRow = tableRef.insertRow(-1) let uidCell = newRow.insertCell(0) let uidData = document.createTextNode(uid) uidCell.appendChild(uidData) } function bin2string(array) { var result = ""; for (var i = 0; i < array.length - 1; ++i) { result += (String.fromCharCode(array[i])); } return result; }