スタンドアロン asio を使用して websocket++ を使用する C++ プロジェクトと、現在ブラウザーで実行されている角度で作成されたクライアント側との間で、いくつかの websocket 通信を実行しようとしています。
ハンドシェイク、つまりいくつかの CORS 設定に問題があるようです。
クライアント側では、これを取得します:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:3001/socket.io/?EIO=3&transport=polling&t=MV3LZsv. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
同時に、cpp 側のコンソールでこれを取得します。
[2018-12-18 15:09:39] [error] Handshake ended with HTTP error: 426
[2018-12-18 15:09:39] [fail] WebSocket Connection [::ffff:127.0.0.1]:57762 v0 "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0" /socket.io/?EIO=3&transport=polling&t=MV1ffJg 426 websocketpp:28 Upgrade required
さて、私は GitHub リポジトリでこの問題を見つけました: https://github.com/zaphoyd/websocketpp/issues/679
そのため、検証ハンドラーを追加しようとしましたが、機能しません。呼び出されていAccess-Control-Allow-Origin
ないため、リクエストに追加されていません。
何か案は?
//編集: クライアント側のエラー メッセージを更新