同一页面上的套接字io多个连接

时间:2020-02-02 14:17:39

标签: node.js reactjs socket.io

这个问题在stackoverflow社区专家中被问过很多次,我发现的大多数问题都没有得到回答或答案不令人满意。

每次我尝试连接到套接字时,都会用不同的ID打印出多个用户,并且每当我向客户发出回信时,我的响应将继续保持3-5-7 ...倍于初始响应,并不断增加。

const express = require('express');
const connectDB = require('./db')
const users = require('./api/users')
const bodyParser = require('body-parser')
const cors = require('cors')
const posts = require('./api/posts')
const http = require("http");
const app = express();

app.use(cors())

app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

connectDB()


const PORT = process.env.PORT || 5000;
const server = app.listen(PORT, () => console.log(`Server running on port ${PORT}`))



const socketio = require('socket.io')
const io = socketio(server)
const questions = require('./api/questions')(io)

app.use('/api/users', users)
app.use('/api/posts', posts)
app.use('/api/questions', questions)

我在问题路由中打开了一个连接。

在路线内:

....(其他路线)...

module.exports = (io) => {

    io.on('connection', (socket) => {
        console.log(` with userid : ${socket.id}`)
    })



    return router
}
据我了解,

我的应用程序每次尝试访问服务器时, 生成另一个用户。不确定发射,因为它不断繁殖

import io from 'socket.io-client'
let socket = io('http://localhost:5000')

0 个答案:

没有答案