如何从网址中删除socket.io EIO和其他参数

时间:2019-03-27 10:34:29

标签: socket.io

当我使用以下选项配置socket-io时: {url:'ws:// localhost:8888',选项:{path:'/ chatws',传输方式:['websocket'],reconnectionAttempts:'3'}}

我收到以下错误 WebSocket与'ws:// localhost:8888 / chatws /?EIO = 3&transport = websocket'的连接失败:WebSocket握手期间出错:意外的响应代码:501

如果我使用其他不添加任何参数的框架,那么它将起作用。

如何从网址中删除EIO和所有查询参数?

1 个答案:

答案 0 :(得分:0)

事实并非如此。 当您仅实现基于websocket的传输时,需要在两侧进行配置。默认情况下,socket.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']})

这对我有用!