<!DOCTYPE HTML> <html> <head> <title>rhctl Websocket Testclient</title> <meta charset="utf-8"> <style type="text/css"> body { background-color: #555; } div.data { background-color: white; border: 1px solid; padding: 1em; font-family: monospace; margin-top: 1em; margin-bottom: 1em; } #progress { background-color: white; border: 1px solid; padding: 1em; font-family: monospace; margin-top: 2em; margin-bottom: 0em; } #progress span.caption { font-weight: bold; } td { text-align: right; } </style> <script src="jquery.min.js"></script> <script type="text/javascript"> function State(req) { this.req = req this.sock = new WebSocket("ws://localhost:4080/socket"); this.sock_onmessage = function (event) { $('#statemsg').text(event.data); } this.sock.onmessage = this.sock_onmessage.bind(this); this.sock_onopen = function() { this.sock.send(JSON.stringify(this.req)); $('#buttonstate').attr('disabled','disabled') } this.sock.onopen = this.sock_onopen.bind(this); } var s; function state() { req = { COMMAND: "state" }; s = new State(req); } function Subscription(req) { this.req = req this.sock = new WebSocket("ws://localhost:4080/socket"); this.sock_onmessage = function (event) { $('#rawmsg').append(event.data + "\n\n"); } this.sock.onmessage = this.sock_onmessage.bind(this); this.sock_onopen = function() { this.sock.send(JSON.stringify(this.req)); $('#buttonsub').attr('disabled','disabled') } this.sock.onopen = this.sock_onopen.bind(this); } var sub; function sub() { req = { COMMAND: "subscribe", ARGS: [ $('#subtype').val() ]}; sub = new Subscription(req); } function init() { $('#buttonstate').removeAttr('disabled','disabled'); $('#buttonsub').removeAttr('disabled','disabled'); } </script> </head> <body onload="init()"> <h1>rhctl Websocket Testclient</h1> <div> <button id="buttonstate" onclick="state()">get state</button> <div id="statemsg" class="data"></div> </div> <div> <input id="subtype" type="text" size="30" value="state"> <button id="buttonsub" onclick="sub()">subscribe</button> <div id="rawmsg" class="data"></div> </div> </body> </html>