File: index.html

package info (click to toggle)
rabbitmq-server 3.3.5-1.1
  • links: PTS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 12,004 kB
  • sloc: erlang: 78,203; python: 3,187; xml: 2,843; makefile: 903; sh: 831; java: 660; perl: 64; ruby: 63
file content (96 lines) | stat: -rw-r--r-- 2,835 bytes parent folder | download | duplicates (2)
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<!doctype html>
<html><head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script src="http://cdn.sockjs.org/sockjs-0.2.min.js"></script>
    <script src="multiplex.js"></script>
    <style>
      .box {
          width: 300px;
          float: left;
          margin: 0 20px 0 20px;
      }
      .box div, .box input {
          border: 1px solid;
          -moz-border-radius: 4px;
          border-radius: 4px;
          width: 100%;
          padding: 0px;
          margin: 5px;
      }
      .box div {
          border-color: grey;
          height: 300px;
          overflow: auto;
      }
      .box input {
          height: 30px;
      }
      h1 {
          margin-left: 75px;
      }
      body {
          background-color: #F0F0F0;
          font-family: "Arial";
      }
    </style>
<head><body lang="en">
    <h1>SockJS Multiplex example</h1>

    <div id="first" class="box">
      <div></div>
      <form><input autocomplete="off" value="Type here..."></input></form>
    </div>

    <div id="second" class="box">
      <div></div>
      <form><input autocomplete="off"></input></form>
    </div>

    <div id="third" class="box">
      <div></div>
      <form><input autocomplete="off"></input></form>
    </div>

    <script>
        // Pipe - convenience wrapper to present data received from an
        // object supporting WebSocket API in an html element. And the other
        // direction: data typed into an input box shall be sent back.
        var pipe = function(ws, el_name) {
            var div  = $(el_name + ' div');
            var inp  = $(el_name + ' input');
            var form = $(el_name + ' form');

            var print = function(m, p) {
                p = (p === undefined) ? '' : JSON.stringify(p);
                div.append($("<code>").text(m + ' ' + p));
                div.append($("<br>"));
                div.scrollTop(div.scrollTop() + 10000);
            };

            ws.onopen    = function()  {print('[*] open', ws.protocol);};
            ws.onmessage = function(e) {print('[.] message', e.data);};
            ws.onclose   = function()  {print('[*] close');};

            form.submit(function() {
                print('[ ] sending', inp.val());
                ws.send(inp.val());
                inp.val('');
                return false;
            });
        };

        var sockjs_url = '/multiplex';
        var sockjs = new SockJS(sockjs_url);

        var multiplexer = new MultiplexedWebSocket(sockjs);
        var ann  = multiplexer.channel('ann');
        var bob  = multiplexer.channel('bob');
        var carl = multiplexer.channel('carl');

        pipe(ann,  '#first');
        pipe(bob,  '#second');
        pipe(carl, '#third');

        $('#first input').focus();
    </script>
</body></html>