In der Dokumentation heißt es, dass io.origins()
ein Array von Strings/Ursprüngen nimmt (siehe Beispiel https://socket.io/docs/server-api/#server-origins-value), obwohl dies tatsächlich der Fall ist nicht. Es funktioniert nur, wenn eine Zeichenfolge anstelle eines Arrays bereitgestellt wird.
Einstellung
io.origins(['http://localhost:3000'])
und dann funktioniert die Verbindung von localhost:3000
nicht.
Es funktioniert nur, wenn io.origins('http://localhost:3000')
eingestellt wird
Ich denke, das Protokoll sollte nicht enthalten sein:
io.origins(['localhost:3000', 'localhost:3001']);
// or
io.origins('localhost:3000');
Funktioniert mit dem Protokoll, wenn es als String bereitgestellt wird, nicht, wenn es in einem Array bereitgestellt wird 😄
Aber danke für die Aufklärung!
Ich denke, es ist mit einem indexOf
implementiert, daher das funky Verhalten.
Ich werde einen Hinweis in der Dokumentation hinzufügen.
Ich bin gerade auf das gleiche Problem gestoßen - ein Array mit dem Protokoll in der URL, zB io.origins([https://subdomain.domain.ee:*])
funktioniert nicht, während io.origins([subdomain.domain.ee:*])
funktioniert.
Während das Beispiel in der Dokumentation https://
im Array-Beispiel enthält: io.origins(['https://foo.example.com:443']);
.
Wenn man sich diesen Commit ansieht , scheint es, dass die Dokumentation geändert wurde, um dieses Beispiel aufzunehmen, aber es ist mir trotzdem passiert?
Ich habe [https://subdomain.domain.ee:*]
als URL verwendet, was nicht funktioniert hat, ebenso wenig wie http://
(obwohl in meinem Fall sowieso nur über https://
zugegriffen werden sollte). Nachdem ich das Protokoll entfernt hatte, fing es an zu arbeiten.
Ich dachte, ich würde das hier nur für den Fall melden. Habe ich möglicherweise etwas übersehen?
Hilfreichster Kommentar
Ich denke, das Protokoll sollte nicht enthalten sein: