客户端刷新页面后,socket.io失败

时间:2019-08-14 16:12:17

标签: node.js reactjs sockets websocket socket.io

我在react-node项目中使用socket.io。我在页面刷新时套接字没有刷新有问题。

它首先作为服务器运行,而react dev服务器则首次运行。使用套接字(从服务器发出内容)后,刷新浏览器页面将导致Web socket.js文件错误:

  

WebSocket连接到   'ws:// localhost:4000 / socket.io /?EIO = 3&transport = websocket&sid = XTE63CeWdp676cRXAAAF'   失败:WebSocket握手期间出错:意外的响应代码:   400

这是我在客户端和服务器中使用的代码:

服务器:

.gitignore

启动服务器时将调用const express = require('express'); const socketconfig = require('./socket.io'); class Server { constructor({ config, router, logger, }) { this.config = config; this.logger = logger; this.express = express(); this.express.disable('x-powered-by'); this.express.use(router); } start() { return new Promise((resolve) => { const http = this.express .listen(this.config.web.port, () => { const { port } = http.address(); this.logger.info(`[p ${process.pid}] Listening at port ${port}`); resolve(); }); var io = require('socket.io').listen(http,function () { console.log("I AM CONNECTIONG") }); this.freshio=io.sockets; socketconfig.setOnConnection(this.freshio, ()=>{ console.log('Connexion COnditions are set'); }); socketconfig.setOnDisconnect(this.freshio, ()=>{ console.log('client disconnected'); }); this.clients = socketconfig.clients; }); } } module.exports = Server; 方法。 start()文件只是用于保存客户端和设置条件的工具包,它不会干扰任何内容。

客户:

socketConfig

Store只是具有配置文件链接的助焊剂存储。

我尝试添加使用socket.io而不是http方法的webSockets方法,但是由于其他问题激增,它是徒劳的。

我该怎么办?

0 个答案:

没有答案