diff options
author | Kurt Pattyn <pattyn.kurt@gmail.com> | 2013-11-06 11:28:16 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-06 12:55:14 +0100 |
commit | ef5d3f16d5c18d51a659d5d22ebc0a190e5c9f43 (patch) | |
tree | 7b02ac24b0722809127ef12b7c0df0bee3bff40a /examples | |
parent | 0aa24f1799c4797b9283f7af499d096fcbaf522c (diff) | |
download | qtwebsockets-ef5d3f16d5c18d51a659d5d22ebc0a190e5c9f43.tar.gz |
Add html client for echo server example
Change-Id: I1d6c47c9fc5e68f8eabf92db5a91e645319572fb
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/echoserver/echoclient.html | 102 | ||||
-rw-r--r-- | examples/echoserver/echoserver.pro | 2 |
2 files changed, 104 insertions, 0 deletions
diff --git a/examples/echoserver/echoclient.html b/examples/echoserver/echoclient.html new file mode 100644 index 0000000..e9c55dc --- /dev/null +++ b/examples/echoserver/echoclient.html @@ -0,0 +1,102 @@ +<html> + <head> + <title>Websocket Echo Client</title> + </head> + <body> + <h1>Websocket Echo 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="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 msg = document.getElementById("inputText").value; + if ( websocket != null ) + { + document.getElementById("inputText").value = ""; + websocket.send( msg ); + console.log( "string sent :", '"'+msg+'"' ); + } + } + + 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> diff --git a/examples/echoserver/echoserver.pro b/examples/echoserver/echoserver.pro index 2f10bfc..6d2360b 100644 --- a/examples/echoserver/echoserver.pro +++ b/examples/echoserver/echoserver.pro @@ -13,3 +13,5 @@ SOURCES += \ HEADERS += \ echoserver.h + +OTHER_FILES += echoclient.html |