Как удалить сокет.EIO ввода-вывода и другие параметры из url

#socket.io

#socket.io

Вопрос:

Когда я настраиваю socket-io со следующими параметрами: { url: ‘ws: //localhost: 8888’, параметры: {path: ‘/ chatws’, транспорты: [‘websocket’], повторные попытки подключения: ‘3’}}

Я получаю следующую ошибку: не удалось подключиться к WebSocket ‘ws: // localhost: 8888 / chatws /?EIO = 3 amp; transport = websocket’: Ошибка во время рукопожатия WebSocket: Неожиданный код ответа: 501

Если я использую другие фреймворки, которые не добавляют никаких параметров, тогда это работает.

Как удалить EIO и все параметры запроса из URL?

Ответ №1:

Это не тот случай. Пока вы реализуете транспортировку только на основе websocket, вам необходимо настроить это с обеих сторон. По умолчанию используется сокет.io пытается установить соединение с помощью длительного опроса.

Реализация на стороне сервера:

 const express = require('express')()
const server = require('http').createServer(express)
const io = require('socket.io')(server,{transports:['websocket']})
  

Внедрение на стороне клиента :

 import io from 'socket.io-client'
const socket = io('http://localhost:8080',{transports: ['websocket']})
  

У меня это сработало!

Комментарии:

1. Это не отвечает на вопрос — как удалить EIO и все параметры запроса из URL?