summaryrefslogtreecommitdiff
path: root/app/client/socket.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/client/socket.js')
-rw-r--r--app/client/socket.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/app/client/socket.js b/app/client/socket.js
new file mode 100644
index 0000000..289fc4e
--- /dev/null
+++ b/app/client/socket.js
@@ -0,0 +1,60 @@
+let socket = io.connect('/client')
+let got_frame = false
+
+socket.on('res', (data) => {
+ switch (data.cmd) {
+ case 'get_last_frame':
+ console.log('get last frame!')
+ if (data.res !== 'working') {
+ socket.emit('cmd', {
+ cmd: 'get_last_frame',
+ })
+ }
+ break
+ default:
+ break
+ }
+ console.log(data)
+})
+
+socket.on('frame', (data) => {
+ got_frame = true
+ const blob = new Blob([data.frame], { type: 'image/jpg' })
+ const url = URL.createObjectURL(blob)
+ const img = new Image ()
+ img.onload = function() {
+ URL.revokeObjectURL(url)
+ const player = document.querySelector('.player')
+ player.innerHTML = ''
+ player.appendChild(img)
+ }
+ img.src = url
+})
+
+socket.emit('cmd', {
+ cmd: 'get_params',
+})
+
+setTimeout(() => {
+ if (!got_frame) {
+ // socket.emit('cmd', {
+ // cmd: 'get_last_frame',
+ // })
+ }
+}, 500)
+
+export function get_params(key, value) {
+ socket.emit('cmd', {
+ cmd: 'get_params',
+ })
+}
+export function send_param(key, value) {
+ socket.emit('cmd', {
+ cmd: 'send_param',
+ payload: {
+ 'key': key,
+ 'value': value,
+ }
+ })
+}
+export { socket }