Files
rippled/examples/broadcast_server_tls/broadcast_admin.html
2011-12-10 07:15:43 -06:00

116 lines
2.8 KiB
HTML

<!doctype html>
<html>
<head>
</head>
<body>
<script type="text/javascript">
var ws;
var url;
function connect() {
url = document.getElementById("server_url").value;
console.log(url);
if ("WebSocket" in window) {
ws = new WebSocket(url);
} else if ("MozWebSocket" in window) {
ws = new MozWebSocket(url);
} else {
document.getElementById("messages").innerHTML += "This Browser does not support WebSockets<br />";
return;
}
ws.onopen = function(e) {
document.getElementById("messages").innerHTML += "Client: A connection to "+ws.URL+" has been opened.<br />";
document.getElementById("server_url").disabled = true;
document.getElementById("toggle_connect").innerHTML = "Disconnect";
};
ws.onerror = function(e) {
document.getElementById("messages").innerHTML += "Client: An error occured, see console log for more details.<br />";
console.log(e);
};
ws.onclose = function(e) {
document.getElementById("messages").innerHTML += "Client: The connection to "+url+" was closed.<br />";
clear_hud()
};
ws.onmessage = function(e) {
foo = JSON.parse(e.data);
if (foo.type == "message") {
document.getElementById("messages").innerHTML += "Broadcasted Message: "+foo.value+"<br />";
} else if (foo.type == "con") {
document.getElementById("connected_clients").innerHTML = foo.value;
} else {
document.getElementById("messages").innerHTML += "Unrecognized Server Command.<br />";
}
}
}
function clear_hud() {
document.getElementById("server_url").disabled = false;
document.getElementById("toggle_connect").innerHTML = "Connect";
document.getElementById("connected_clients").innerHTML = "N/A";
}
function disconnect() {
ws.close();
}
function toggle_connect() {
if (document.getElementById("server_url").disabled === false) {
connect();
} else {
disconnect();
}
}
function send() {
if (ws === undefined || ws.readyState != 1) {
document.getElementById("messages").innerHTML += "Client: Websocket is not avaliable for writing<br />";
return;
}
ws.send(document.getElementById("msg").value);
document.getElementById("msg").value = "";
}
</script>
<style>
body,html {
margin: 0px;
padding: 0px;
}
#controls {
float:right;
background-color: #333;
color: #fff;
padding: 5px;
}
#controls h2 {
font-family: sans-serif;
font-size: 16px;
}
</style>
<div id="controls">
<div id="server">
<input type="text" name="server_url" id="server_url" value="ws://localhost:9002/admin" />
<button id="toggle_connect" onclick="toggle_connect();">Connect</button>
</div>
<div id="message_input"><input type="text" name="msg" id="msg" value="Hello World!" />
<button onclick="send();">Broadcast</button></div>
<h2>Stats</h2>
<div>Connected Clients: <span id="connected_clients">N/A</span></div>
</div>
<div id="messages"></div>
</body>
</html>