websocket: Test failure interleaved frames from 2 separate messages.
authorRutger van Beusekom <rutger.van.beusekom@verum.com>
Thu, 19 Nov 2020 10:34:37 +0000 (11:34 +0100)
committerRutger van Beusekom <rutger.van.beusekom@verum.com>
Thu, 19 Nov 2020 10:38:19 +0000 (11:38 +0100)
demos/websocket/8s-server.scm
demos/websocket/ws-client.html

index c4b638f6e375baf05126200caf802437fb828b64..5ea883494a29fab168d47c3fe4754b4128749046 100755 (executable)
@@ -42,7 +42,7 @@
 
 (define (main . args)
   (let* ((hive (make-hive))
-         (sleeper (bootstrap-actor hive <sleeper>))
+         ;; (sleeper (bootstrap-actor hive <sleeper>))
          (server (bootstrap-actor
                   hive <websocket-server>
                   #:port %server-port
                   #:on-ws-message (lambda (ws msg)
                                     (format (current-error-port) "on-message: ~s: ~s\n" ws msg))
                   #:on-ws-open (lambda (ws)
-                                 (format (current-error-port) "on-open: ~s\n" ws)))))
+                                 (format (current-error-port) "on-open: ~s\n" ws)
+                                 (format (current-error-port) "sending: AAA...\n")
+                                (<- (actor-id ws) 'send (make-string (* 1024 1024) #\A))
+                                 (format (current-error-port) "sending: BBB...\n")
+                                (<- (actor-id ws) 'send (make-string (* 1024 1024) #\B))))))
     (format (current-error-port) "listening: ~s\n" %server-port)
     (run-hive hive '())))
 
index 5e9c8114af06717d8a3b37d921d6d7af8ddc4ec5..7dc87b6b11fcf4231b4a6dfe0a97945c79feb240 100644 (file)
     <p id="log"></p>
     <script>
       var server = "ws://localhost:1236";
-      var log = document.getElementById ("log");
-      console.log ('log=%j', log);
-      console.log ('document=%j', document);
-      console.log ('body=%j', document.body);
+      //var log = document.getElementById ("log");
+      //console.log ('log=%j', log);
+      //console.log ('document=%j', document);
+      //console.log ('body=%j', document.body);
       var ws = new WebSocket (server);
       ws.onopen = function () {
-        console.log ('open!'); log.innerHTML += 'open!<br>';
+        console.log ('open!'); //log.innerHTML += 'open!<br>';
         ws.send ('Hello, Web Socket!');
-        ws.send ('Say: ' + 'A'.repeat (Math.pow (2, 16)) + '\n');
+        //ws.send ('Say: ' + 'A'.repeat (Math.pow (2, 16)) + '\n');
       };
-      ws.close = function () { console.log ('close!'); log.innerHTML += 'close!<br>'; };
-      ws.onmessage = function () { console.log ('message'); log.innerHTML += 'message!<br>'; };
+      ws.close = function () { console.log ('close!'); }//log.innerHTML += 'close!<br>'; };
+      ws.onmessage = function (event) { console.log ('message:%s', event.data); }//log.innerHTML += 'message!<br>'; };
     </script>
   </body>
 </html>