diff options
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> |