古いバージョンのsocket.ioは問題なく動作しますが、最新のリリースでは、前面から背面に接続しようとするとCORSエラーが表示されます。 CORSミドルウェアもサーバーに追加しましたが、機能していません。 しかし、古いバージョンのソケットに戻すと、うまく機能しています。
こんにちは、これはドキュメントが3.0リリースで行われた変更を反映していないためだと思います。
このリンクhttps://socket.io/docs/migrating-from-2-x-to-3-0/のセクションCORS処理を参照してください。
うそをつくつもりはありません、それは一種の残念です。 今日、socket.ioで遊び始めましたが、すぐに障害が発生します。 2.xにダウングレードしますが、ドキュメントにバージョン管理がないようです。
@darrachequesneありがとう、それは解決されました!
これは、glitch.meプロジェクトを持つ人々に問題を引き起こす可能性があります。 をv3にアップグレードすると、glitch.meプロジェクトはsaifulshihabが投稿したエラーで応答を開始します。 ただし、CORSはglitch.meとAWSのTOSに反対しており、予測が削除されるようです。 CORSを含めずにv3フレームワークを実行する方法はありますか?
CORSとは何か、なぜそれが問題になるのか完全には理解していません。 私はただ計画をつなぎ合わせようとしています。
こんにちは@ quindo -CORSを有効にすることはGlitchのTOSに反しないことを明確にしたかっただけです。 一部のユーザーは、悪意のある理由でCORSなどの特定のnpmパッケージを使用していましたが、
問題に直面している人の
// server-side
const io = require("socket.io")(httpServer, {
cors: {
origin: "https://example.com",
methods: ["GET", "POST"],
allowedHeaders: ["my-custom-header"],
credentials: true
}
});
// client-side
const io = require("socket.io-client");
const socket = io("https://api.example.com", {
withCredentials: true,
extraHeaders: {
"my-custom-header": "abcd"
}
});
これで閉鎖できると思います。 必要に応じて再度開いてください。
最も参考になるコメント
こんにちは! 申し訳ありませんが、ドキュメントはv3用に更新中です。
ここにCORSに関するセクションを追加しました: https :
それが十分に明確であるかどうかを確認していただけますか?