aboutsummaryrefslogtreecommitdiffstats
path: root/examples/websockets/simplechat/chatclient.html
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@digia.com>2014-03-19 16:45:42 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-19 17:52:08 +0100
commitfd65264aca55e599e94326311032b2075f60e6d7 (patch)
treef924989e4805ee1bf79359b40120b4db1a410459 /examples/websockets/simplechat/chatclient.html
parentff4fb490dee278dd95afa31d0c35172804cb8dc2 (diff)
Move examples into 'websockets' folder
In the packaging process the content of all 'examples' folders are copied together into one folder ... so modules are supposed to have their submodule name as a sub-folder of 'examples'. Change-Id: I9981b914e8268c932ca5a3d1c9fa73f8db0b6a5b Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Diffstat (limited to 'examples/websockets/simplechat/chatclient.html')
-rw-r--r--examples/websockets/simplechat/chatclient.html106
1 files changed, 106 insertions, 0 deletions
diff --git a/examples/websockets/simplechat/chatclient.html b/examples/websockets/simplechat/chatclient.html
new file mode 100644
index 0000000..5b077f7
--- /dev/null
+++ b/examples/websockets/simplechat/chatclient.html
@@ -0,0 +1,106 @@
+<html>
+ <head>
+ <title>Websocket Chat Client</title>
+ </head>
+ <body>
+ <h1>Websocket Chat Client</h1>
+ <p>
+ <button onClick="initWebsocket();">Connect</button>
+ <button onClick="stopWebsocket();">Disconnect</button>
+ <button onClick="checkSocket();">State</button>
+ </p>
+ <p>
+ <textarea id="debugTextArea" style="width:400px;height:200px;"></textarea>
+ </p>
+ <p>
+ <input type="text" id="inputNick" value="nickname" />
+ <input type="text" id="inputText" onkeydown="if(event.keyCode==13)sendMessage();"/>
+ <button onClick="sendMessage();">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 wsUri = "ws://localhost:1234";
+ var websocket = null;
+
+ function initWebsocket() {
+ try {
+ if (typeof MozWebSocket == 'function')
+ WebSocket = MozWebSocket;
+ if ( websocket && websocket.readyState == 1 )
+ websocket.close();
+ websocket = new WebSocket( wsUri );
+ websocket.onopen = function (evt) {
+ debug("CONNECTED");
+ };
+ websocket.onclose = function (evt) {
+ debug("DISCONNECTED");
+ };
+ 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>