| <!-- |
| #%L |
| NanoHttpd-Websocket |
| %% |
| Copyright (C) 2012 - 2015 nanohttpd |
| %% |
| Redistribution and use in source and binary forms, with or without modification, |
| are permitted provided that the following conditions are met: |
| |
| 1. Redistributions of source code must retain the above copyright notice, this |
| list of conditions and the following disclaimer. |
| |
| 2. Redistributions in binary form must reproduce the above copyright notice, |
| this list of conditions and the following disclaimer in the documentation |
| and/or other materials provided with the distribution. |
| |
| 3. Neither the name of the nanohttpd nor the names of its contributors |
| may be used to endorse or promote products derived from this software without |
| specific prior written permission. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
| ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, |
| INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
| BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
| LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE |
| OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED |
| OF THE POSSIBILITY OF SUCH DAMAGE. |
| #L% |
| --> |
| <html> |
| <head> |
| <meta charset="utf-8"/> |
| <title>WebSocket Test</title> |
| <script language="javascript" type="text/javascript"> |
| var wsUri = "ws://localhost:9090/"; |
| var output; |
| function init() { |
| output = document.getElementById("output"); |
| testWebSocket(); |
| } |
| function testWebSocket() { |
| websocket = new WebSocket(wsUri); |
| websocket.onopen = function (evt) { |
| onOpen(evt) |
| }; |
| websocket.onclose = function (evt) { |
| onClose(evt) |
| }; |
| websocket.onmessage = function (evt) { |
| onMessage(evt) |
| }; |
| websocket.onerror = function (evt) { |
| onError(evt) |
| }; |
| } |
| function onOpen(evt) { |
| writeToScreen("CONNECTED"); |
| doSend("WebSocket rocks"); |
| } |
| function onClose(evt) { |
| writeToScreen("DISCONNECTED"); |
| } |
| function onMessage(evt) { |
| writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data + '</span>'); |
| websocket.close(); |
| } |
| function onError(evt) { |
| writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data); |
| } |
| function doSend(message) { |
| writeToScreen("SENT: " + message); |
| websocket.send(message); |
| } |
| function writeToScreen(message) { |
| var pre = document.createElement("p"); |
| pre.style.wordWrap = "break-word"; |
| pre.innerHTML = message; |
| output.appendChild(pre); |
| } |
| window.addEventListener("load", init, false); </script> |
| </head> |
| <body> |
| <h2>WebSocket Test</h2> |
| |
| <div id="output"></div> |
| </body> |
| </html> |