<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>chatclient.html Example File | Qt WebSockets 5.12.6</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td >Qt 5.12</td><td ><a href="qtwebsockets-index.html">Qt WebSockets</a></td><td ><a href="qtwebsockets-simplechat-example.html">Simple Chat Example</a></td><td >chatclient.html Example File</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right"><a href="qtwebsockets-index.html">Qt 5.12.6 Reference Documentation</a></td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"><div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">chatclient.html Example File</h1> <span class="subtitle">simplechat/chatclient.html</span> <!-- $$$simplechat/chatclient.html-description --> <div class="descr"> <a name="details"></a> <pre class="cpp"> <html> <head> <title>WebSocket Chat Client</title> </head> <body> <h1>WebSocket Chat Client</h1> <p> Host: <input id="webSocketHost" type="text" value="localhost:1234"/> </p> <p> <button onClick="initWebSocket();">Connect</button> <button id="disconnectButton" onClick="stopWebSocket();" disabled>Disconnect</button> <button onClick="checkSocket();">State</button> </p> <p> <textarea id="debugTextArea" style="width:400px;height:200px;" readonly></textarea> </p> <p> <input type="text" id="inputNick" value="nickname" /> <input type="text" id="inputText" onkeydown="if(event.keyCode==13)sendMessage();"/> <button id="sendButton" onClick="sendMessage();" disabled>Send</button> </p> <script type="text/javascript"> var debugTextArea = document.getElementById("debugTextArea"); function debug(message) { debugTextArea.value += message + "\n"; debugTextArea.scrollTop = debugTextArea.scrollHeight; } function sendMessage() { var nickname = document.getElementById("inputNick").value; var msg = document.getElementById("inputText").value; var strToSend = nickname + ": " + msg; if ( websocket != null ) { document.getElementById("inputText").value = ""; websocket.send( strToSend ); console.log( "string sent :", '"'+strToSend+'"' ); debug(strToSend); } } var websocket = null; function initWebSocket() { try { if (typeof MozWebSocket == 'function') WebSocket = MozWebSocket; if ( websocket && websocket.readyState == 1 ) websocket.close(); var wsUri = "ws://" + document.getElementById("webSocketHost").value; websocket = new WebSocket( wsUri ); websocket.onopen = function (evt) { debug("CONNECTED"); document.getElementById("disconnectButton").disabled = false; document.getElementById("sendButton").disabled = false; }; websocket.onclose = function (evt) { debug("DISCONNECTED"); document.getElementById("disconnectButton").disabled = true; document.getElementById("sendButton").disabled = true; }; websocket.onmessage = function (evt) { console.log( "Message received :", evt.data ); debug( evt.data ); }; websocket.onerror = function (evt) { debug('ERROR: ' + evt.data); }; } catch (exception) { debug('ERROR: ' + exception); } } function stopWebSocket() { if (websocket) websocket.close(); } function checkSocket() { if (websocket != null) { var stateStr; switch (websocket.readyState) { case 0: { stateStr = "CONNECTING"; break; } case 1: { stateStr = "OPEN"; break; } case 2: { stateStr = "CLOSING"; break; } case 3: { stateStr = "CLOSED"; break; } default: { stateStr = "UNKNOW"; break; } } debug("WebSocket state = " + websocket.readyState + " ( " + stateStr + " )"); } else { debug("WebSocket is null"); } } </script> </body> </html> </pre> </div> <!-- @@@simplechat/chatclient.html --> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br/> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br/> Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners. </p> </div> </body> </html>