Socket IO - сервер не соединяется с моим клиентом - PullRequest
0 голосов
/ 11 марта 2020

Я ломал голову, пытаясь подключить мой клиент к серверу с помощью socket.io, но безрезультатно. Мой сервер находится в узле, а клиент написан на реагировать. Он не отображается на моем сервере, когда пользователь подключается или отключается. Вот мой код -

Сервер:

const express = require('express')
const socketio = require('socket.io')
const http = require('http')
const cors = require('cors')

const PORT = process.env.PORT || 5000

const router = require('./router')

const app = express()
const server = http.createServer(app)
const io = socketio(server)

app.use(cors())
app.use(router)

io.on('connection', socket => {
    console.log('User has connected.')
    socket.on('disconnect', () => {
        console.log("User has disconnected.")
    })
})

app.listen(PORT, () => console.log(`Server running on port ${PORT}`))

Клиент (React):

import React, { useState, useEffect } from "react"
import queryString from 'query-string'
import io from "socket.io-client"

import './chat.styles.css'

let socket

const Chat = ({location}) => {
    const [name, setName] = useState('')
    const [room, setRoom] = useState('')
    const ENDPOINT = 'http://localhost:5000/'

    useEffect(() => {
        const { name, room } = queryString.parse(location.search);

        socket = io(ENDPOINT)

        setRoom(room)
        setName(name)

      }, [ENDPOINT, location.search])

    return (
        <div className='chat'>
            <h1>Test</h1>
        </div>
    )
}

export default Chat

1 Ответ

0 голосов
/ 12 марта 2020

Я нашел ошибку. В коде сервера я случайно вставил

app.listen(PORT, () => console.log(`Server running on port ${PORT}`))

вместо

server.listen(PORT, () => console.log(`Server running on port ${PORT}`))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...