当我使用以下选项配置 socket-io 时:{ url: 'ws://localhost:8888', options: {path: '/chatws', transports: ['websocket'], reconnectionAttempts: '3'}}
我收到以下错误 WebSocket connection to 'ws://localhost:8888/chatws/?EIO=3&transport=websocket' failed: Error during WebSocket handshake: Unexpected response code: 501
如果我使用不添加任何参数的其他框架,那么它就可以工作。
如何从 URL 中删除 EIO 和所有查询参数?
小智 -4
事实并非如此。当您仅实现基于 Websocket 的传输时,您需要在两侧进行配置。默认情况下,socket.io 尝试使用长轮询建立连接。
服务器端实现:
const express = require('express')()
const server = require('http').createServer(express)
const io = require('socket.io')(server,{transports:['websocket']})
Run Code Online (Sandbox Code Playgroud)
客户端实现:
import io from 'socket.io-client'
const socket = io('http://localhost:8080',{transports: ['websocket']})
Run Code Online (Sandbox Code Playgroud)
这对我有用!
| 归档时间: |
|
| 查看次数: |
906 次 |
| 最近记录: |