0

別のドメインのクライアントからアクセスしている単純なチャット サーバー (node.js/express/socket.io) があります。すべてを許可するようにオリジンを設定しましたが、これはうまくいきました。ただし、クライアントからの非アクティブ状態が約 30 秒続くと、「XMLHttpRequest は [url] を読み込めません。Origin は Access-Control-Allow-Origin によって許可されていません。」というエラーが表示されます。その時点で、ページを更新しない限り、メッセージを送信できなくなります。io.set('origins', '*:*');withと withの両方でオリジンを許可しています

app.all('*', function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With");
  next();
});.

考えられるほとんどすべてのことを試しました(ハートビートを無効にし、エラーをキャッチし、クライアントで再接続し、io.server.removeListener('request', io.server.listeners('request')[0]);. ローカルで実行しても問題がないため、これがクロスドメインの問題であることはわかっています。何か案は?

4

1 に答える 1