updated folder structure

main
alex 2023-02-03 23:59:48 +01:00
parent 0bf6a65d71
commit 6d2b99d360
3 changed files with 133 additions and 0 deletions

32
wss-sse/index.html Normal file
View File

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CnJ</title>
<script src="script.js"></script>
</head>
<body>
<p>WS: <span id="ws"></span> <button id="change-ws">Change WS</button></p>
<p>UserID: <span id="userid"></span> <button id="copy-userid">Copy</button></p>
<br>
<label>Receiver:</label>
<input id="receiver" type="text">
<button id="btn-clear-rec">Clear</button>
<br>
<br>
<label>Chat msg:</label>
<input id="msg" type="text">
<button id="btn-send">Send</button>
<button id="btn-clear">Clear</button>
<style>
body {
background-color: black;
color: white;
}
</style>
</body>
</html>

101
wss-sse/script.js Normal file
View File

@ -0,0 +1,101 @@
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 = false
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)
}
}