summaryrefslogtreecommitdiffstats
path: root/apps/samples/websockets/websockets.html
blob: c90f72828c080bdeea39182cc2f068a685447b28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <meta charset="utf-8">
    <title>
      WebSocket Test
    </title>
    <script language="javascript" type="text/javascript">
    var wsUri = "ws://localhost:8082/websockets";
//    var wsUri = "ws://echo.websocket.org";

    var output;

    var littlePacket = "0123456789ABCDEF";
    var mediumPacket = "";
    var hugePacket   = "";
    for (var i = 0; i < 16; i++) {
      mediumPacket += littlePacket;
    }
    for (var i = 0; i < 16; i++) {
      hugePacket += mediumPacket;
    }

    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(littlePacket);
      // doSend(mediumPacket);
      // doSend(hugePacket);
    }
    function onClose(evt) {
      writeToScreen("DISCONNECTED");
    }
    function onMessage(evt) {
      var value = evt.data.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
      writeToScreen('<span style="color: blue;">RESPONSE: <pre>' + value + '</pre><\/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>