let ws = null let wsPort = 3000 let wsAddress = "ws://localhost:" //let wsAddress = "wss://alpha-ws.clickandjoin.umbach.dev" let sseAddress = "http://127.0.0.1:3005/" //let sseAddress = "https://alpha-sse.clickandjoin.umbach.dev/" const sseEnabled = true const wssEnabled = true window.onload = () => { const msg = document.getElementById("msg") const receiver = document.getElementById("receiver") document.getElementById("btn-send").onclick = function() { const chatMsg = {cmd: 2, rec: receiver.value, body: {msg: {"id": "1293", "body": msg.value}}} ws.send(JSON.stringify(chatMsg)) console.log("Send:", chatMsg, msg.value) } document.getElementById("btn-clear").onclick = () => { msg.value = "" } document.getElementById("copy-userid").onclick = () => { navigator.clipboard.writeText(document.getElementById("userid").innerHTML) console.log("copied to clipboard") } document.getElementById("btn-clear-rec").onclick = () => { document.getElementById("receiver").value = "" } document.getElementById("change-ws").onclick = () => { if (wsPort === 3000) { wsPort = 3001 } else { wsPort = 3000 } if (ws.readyState == 1) { ws.close() } } connectWS() connectSSE() } function connectSSE() { if (!sseEnabled) return var source = new EventSource(sseAddress) source.onmessage = (e) => { console.log(e.data) let obj = JSON.parse(e.data) console.log(obj.Body) } } function connectWS() { if (!wssEnabled) return ws = new WebSocket(wsAddress + wsPort + "/?auth=sMURqnQt-88Ko-SaWu-2GLr-K2iQECXDyONm") ws.onopen = () => { console.info("ws open", document.getElementById("userid")) document.getElementById("ws").innerHTML = ws.url } ws.onmessage = (msg) => { console.log("rec msg:", msg.data) let data = JSON.parse(msg.data) // Only used here to test whether messages can be sent between the servers if (data["Cmd"] == 99999) { document.getElementById("userid").innerHTML = data["Body"] } } ws.onclose = (e) => { if (e.reason.code === 1005) return console.log("ws closed", e) document.getElementById("userid").innerHTML = "" setTimeout(() => connectWS(), 100) } ws.onerror = (err) => { console.warn("err:", err) } }