123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8"/>
- <title>Websocket client</title>
- </head>
- <body>
- <header>
- <h1>Websocket client</h1>
- <div id="status"></div>
- </header>
- <nav>
- <div id="connecting">
- <input type='text' id="server" value=""></input>
- <button type="button" onclick="toggle_connection()">connection</button>
- </div>
- <div id="connected">
- <input type='text' id="message" value=""></input>
- <button type="button" onclick="sendTxt();">send</button>
- </div>
- </nav>
- <main id="content">
- <button id="clear" onclick="clearScreen()" >Clear text</button>
- <div id="output"></div>
- </main>
- <script type="text/javascript">
- var websocket;
- var server = document.getElementById("server");
- var message = document.getElementById("message");
- var connecting = document.getElementById("connecting");
- var connected = document.getElementById("connected");
- var content = document.getElementById("content");
- var output = document.getElementById("output");
- server.value = "ws://" + window.location.host + "/websocket";
- connected.style.display = "none";
- content.style.display = "none";
- function connect()
- {
- wsHost = server.value;
- websocket = new WebSocket(wsHost);
- showScreen('<b>Connecting to: ' + wsHost + '</b>');
- websocket.onopen = function(evt) { onOpen(evt) };
- websocket.onclose = function(evt) { onClose(evt) };
- websocket.onmessage = function(evt) { onMessage(evt) };
- websocket.onerror = function(evt) { onError(evt) };
- };
- function disconnect() {
- websocket.close();
- };
- function toggle_connection(){
- if (websocket && websocket.readyState == websocket.OPEN) {
- disconnect();
- } else {
- connect();
- };
- };
- function sendTxt() {
- if (websocket.readyState == websocket.OPEN) {
- var msg = message.value;
- websocket.send(msg);
- showScreen('sending: ' + msg);
- } else {
- showScreen('websocket is not connected');
- };
- };
- function onOpen(evt) {
- showScreen('<span style="color: green;">CONNECTED </span>');
- connecting.style.display = "none";
- connected.style.display = "";
- content.style.display = "";
- };
- function onClose(evt) {
- showScreen('<span style="color: red;">DISCONNECTED</span>');
- };
- function onMessage(evt) {
- showScreen('<span style="color: blue;">RESPONSE: ' + evt.data + '</span>');
- };
- function onError(evt) {
- showScreen('<span style="color: red;">ERROR: ' + evt.data + '</span>');
- };
- function showScreen(html) {
- var el = document.createElement("p");
- el.innerHTML = html;
- output.insertBefore(el, output.firstChild);
- };
- function clearScreen() {
- output.innerHTML = "";
- };
- </script>
- </body>
- </html>
|