Meine WebSocket-Implementierung funktioniert in Chrome und Firefox korrekt.WebSocket wird unter Internet Explorer geschlossen - Fehlercode 1006
In IE11 bekomme ich diesen Fehler:
Websocket Error: Network Error 12152, The server returned an invalid or unrecognized response
I js WebSocket-Klasse und reactPhp und https://github.com/ratchetphp/RFC6455 für Backend verwenden.
Dies sind die Anfrage-Antwort-Daten unter IE. Es sieht ok für mich aus.
Ich überprüft, dass Websocket Code 1006
zurückgibt und Grund leeren.
Wie kann ich den Fehler IE11 beheben?
Das Problem war, dass in Antwortheadern ich nur ein Protokoll in Sec-WebSocket-Protokolle zurückgeben sollte.
Warum es nicht nur unter IE funktioniert - weil ich die Protokolle in Backend durch Komma geteilt + Raum aber IE gibt die Protokolle ohne Raum nur mit Kommaseparator. Die anderen Browser geben die Protokolle mit Komma + Leerzeichen zurück.
Zum Beispiel der Code direkt im Backend sieht es wie folgt aus:
array_map ('trim', explode (' ' $ this-> Header [' Sec-WebSocket-Protokoll']));