socket.ioライブラリを介してバックエンドとのソケット接続を作成しようとしています。
これは何ですか - 私は長いポーリングオプションをオフにして、カスタムパスを設定する必要があります。しかし、私はそれらを両方とも設定することはできません。
私はこの方法を試しあれば、私はtransports
path
を設定しますが、いないよ:socket.ioのプロパティトランスポートとパスを設定する
this.socket = io(
'wss://some-url.com',
{ path: '/v1/url/to/websockets' },
{ transports: [ 'websocket' ] }
);
とライブラリがサーバーによって拒否されるロングポーリング接続(Iドンをしようとしています)へのアクセス権はありますが、パスは正しいでしょう。
しかし、私は最初transports
プロパティを順序を変更して設定しようとしている場合、ライブラリはpath
プロパティを省略し、フロントエンドが正しくないwss://some-url.com/socket.io/?EIO=3&transport=websocket
URLへのリクエストを送信します。
transport
プロパティがURLを変更する(それがクエリのパラメータとして設定される)ため、競合していることがわかりますが、私は理解できません - パスとトランスポートのプロパティを設定するにはどうすればよいですか残念。
公式ドキュメントとここで解決策が見つかりませんでした。
アイデア
内にあるべきです)。接続をしません – WeekendMan
私が言ったようにthis.socket.connect()のコードは動きません。 "ハンドシェイク"要求は表示されません。私は "onconnect"イベントを取得しません(もちろん) – WeekendMan
上記のコードでは、クライアントはソケットサーバーに接続されています。なぜthis.socket.connect()を呼び出したのですか? Iwebsocketトランスポートが使用されているときのハンドシェイクに関しては、101として応答するHTTPリクエストは1つしかありません。その後、私の終わりにconnectイベントが正しく呼び出されています。 –