Ich wollte einen Testlauf der einfachsten Implementierung von SignalR und WebRTC machen. Ich habe den Code in Ссылка
gehostetIch habe zwei verschiedene Dateien "index.html" und "index1.html" erstellt. In index.html habe ich eine Videodatei über den Signalgeber ausgestrahlt und es ist sehr gut gelaufen. Aber wenn ich die vorhandene Videodatei einfach durch den WebCam-Feed ersetze, wird ein Fehler angezeigt.
Nach ein paar Sekunden bekomme ich diesen Fehler "WebSocket ist bereits im Zustand CLOSING oder CLOSED." Ich habe versucht, zu drosseln, aber keine Änderung, immer noch den Fehler . Irgendeine Idee, warum es passieren könnte?
Fehlerbild
Sie können das Video überprüfen Ссылка
Die Nachrichtengröße scheint hier das Hauptproblem zu sein.
In Ihrem Projekt ist jeder Frame des Videos ungefähr 40k, aber jeder Frame der Cam ist mehr als 140K. In index.html, wenn Sie das Video nach ungefähr 20s übertragen, wird es mehrere Frames geben, die größer als 70k sind und Ihnen den gleichen Fehler geben.
Ich habe versucht, einige lange String-Nachrichten als Test zu senden, und ich bekomme Fehler, wenn die Nachricht länger als ein bestimmter Wert ist. In der Dokumentation konnte ich jedoch keine definitive Begrenzung der Nachrichtenlänge oder Nachrichtendichte finden.
Ich hatte similliar Problem Websocket App-Server auf Glassfish 4 mit Port 8080 ausgeführt, Nachdem ich meinen Port zu einem anderen funktioniert (zB: 8887), ist dies wahrscheinlich eine temporäre Lösung vor dem Finden der dauerhaften Lösung für Port 8080.
Bearbeiten: Die Ursache gefunden, mein Antivirenprogramm verwendete Port 80, der von Websocket verwendet wird. Wenn Sie das ähnliche Problem finden, überprüfen Sie Ihren Antivirus- / anderen Anwendungsport.
Tags und Links signalr websocket webrtc html5-video html5-canvas