Неизвестные соединения socket.io

Я играю с React+Socket.io, создавая простое приложение с обновлением значений в реальном времени с помощью кнопок +/-, и столкнулся с несколькими проблемами.

  1. Я только что узнал, что на моем сервере каждые несколько секунд появляются новые соединения с разными идентификаторами сокетов, но приложение для реагирования не работает.
  2. Сервер не видит эммитинг со стороны реакции.

Когда я нажимаю кнопку увеличения или уменьшения, ничего не происходит. Сервер не выводит сообщение о том, что что-то получил, но в то же время не выдает никаких ошибок.


сервер.js

      const app = require('express')()
const http = require('http').Server(app)
const io = require('socket.io')(http)

io.on('connection', socket => {
    console.log(`connected: ${socket.id}`)
    socket.on('new-value', value => {
        console.log(`new value: ${value}`);
        io.emit('new-value', value);
    })
})

http.listen(4000, function () {
    console.log('listening on port 4000');
})

App.js

      import { useState, useEffect } from 'react';
import './App.css';

import io from 'socket.io-client';
const socket = io('localhost:4000');

function App() {
    const [value, setValue] = useState(0);

    useEffect(() => {
        socket.on('new-value', val => {
            setValue(val);
        })
    }, []);

    const dec = () => socket.emit('new-value', value - 1);
    const inc = () => socket.emit('new-value', value + 1);

    return (
        <div className="App">
            <div id="wrap">
                <button type="button" onClick={dec}>-</button>
                <span className="num-span">{value}</span>
                <button type="button" onClick={inc}>+</button>
            </div>
        </div>
    );
}

export default App;

вывод консоли server.js

      > t3-server@1.0.0 start
> node server.js

listening on port 4000
connected: K-1X0atTHX1lgCWIAAAA
connected: 0Bq4aVquvwF1wIWkAAAB
connected: HbFvaLQEsBjjBMbUAAAC
connected: ldHBhGUo0CwtAlIGAAAD
connected: n7myM1RFNruzXhmgAAAE
connected: WIF96kQarkss29mRAAAF
connected: ieIEKOi-RLdYoN8PAAAG
connected: cUDLIqeJo_6-RzxPAAAH
connected: tixuslvbrnJ1OPK1AAAI
connected: rVVEKDPAIUpaF4FjAAAJ
connected: jepnS4tSo4DW396fAAAK
connected: wlVJ6v6JhNA8m9VdAAAL

Я пытался найти что-то в Интернете, но я до сих пор понятия не имею, откуда берутся эти связи. Я что-то упускаю?

1 ответ

Проблема была в версии socket.io-client.

Я откатился на 2.1.1 с npm install socket.io-client@2.1.1и теперь все работает просто отлично.

Другие вопросы по тегам