| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | <!doctype html><html>  <head>    <meta http-equiv="Content-type" content="text/html; charset=utf-8">    <title>WebSocket test</title>  </head>  <body>    <h1>WebSocket test</h1>    <ul></ul>    <script type="text/javascript">      var logger = document.getElementsByTagName('ul')[0],          Socket = window.MozWebSocket || window.WebSocket,          protos = ['foo', 'bar', 'xmpp'],          socket = new Socket('ws://' + location.hostname + ':' + location.port + '/', protos),          index  = 0;      var log = function(text) {        logger.innerHTML += '<li>' + text + '</li>';      };      socket.addEventListener('open', function() {        log('OPEN: ' + socket.protocol);        socket.send('Hello, world');      });      socket.onerror = function(event) {        log('ERROR: ' + event.message);      };      socket.onmessage = function(event) {        log('MESSAGE: ' + event.data);        setTimeout(function() { socket.send(++index + ' ' + event.data) }, 2000);      };      socket.onclose = function(event) {        log('CLOSE: ' + event.code + ', ' + event.reason);      };    </script>  </body></html>
 |