Das Problem scheint zu sein, dass die Nachrichtens passieren versucht, bevor die GET-Verbindung zu einem websocket aktualisiert wird. Ich versuche immer noch, es aufzuspüren, in der Zwischenzeit funktioniert das.
%Vor% Beachten Sie, dass in meinem Beispiel der Debug-Ausgabe zeigt 101 switching protocols
, während Beispiel versucht zu rendern echo.html.ep
.
Ich habe auch die Vorlage geändert, um die Websocket-URL zu generieren.
UPDATE:
Es scheint, dass, um sich mit einem Websocket zu verbinden, es notwendig ist, ein Ereignis zu abonnieren. In diesem Beispiel abonniere ich ins Ziel Veranstaltung, die Sie ohnehin tun, um mögen den Timer zu stoppen.
%Vor%UPDATE 2:
Um das Problem zu klären, hat SRI die folgende Dokumentation zu Mojolicious hinzugefügt:
Die Verbindung hergestellt wird, wenn Sie mit einem 101-Antwortstatus auf den WebSocket-Handshake reagieren, die automatisch geschieht, wenn Sie ein Ereignis abonnieren mit "on" oder senden Sie sofort eine Nachricht mit "send".
was die Situation erklärt. Der ursprüngliche Code abonniert weder ein Ereignis noch eine send
sofort. In fast allen Fällen machst du mindestens einen der beiden, in diesem Fall aber: -)