diff options
author | Kai Koehne <kai.koehne@digia.com> | 2014-03-19 16:45:42 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-19 17:52:08 +0100 |
commit | fd65264aca55e599e94326311032b2075f60e6d7 (patch) | |
tree | f924989e4805ee1bf79359b40120b4db1a410459 /examples/websockets/simplechat/chatclient.html | |
parent | ff4fb490dee278dd95afa31d0c35172804cb8dc2 (diff) | |
download | qtwebsockets-fd65264aca55e599e94326311032b2075f60e6d7.tar.gz |
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.html | 106 |
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> |