Пожалуйста, прости меня, если это действительно глупый вопрос.
Я смотрел учебник по Socket.io, и все работало отлично. Поэтому я хотел попробовать это в reactjs приложении. Но проблема заключается в том, что, хотя я могу осуществлять излучение на стороне клиента, я не могу сделать это на стороне сервера.
Излучение работает, если я перезагружаю сервер и под этим я подразумеваю, что когда я запускаю приложение, изначально сервер регистрирует сообщение, а после перезапуска клиент регистрирует сообщение.
на стороне клиента
import React, { Component } from 'react';
import socket from '../socketConfig'
class App extends Component {
componentDidMount(){
socket.on('hello',(data)=>{
console.log(data);
})
socket.emit('call','this is from client');
}
render(){
return (
<div></div>
)
}
}
export default App;
socketConfig
import openSocket from 'socket.io-client';
const socket = openSocket("http://localhost:4000/");
export default socket;
Сторона сервера
var express = require('express');
var socket = require('socket.io');
var app = express();
var server = app.listen(4000, function () {
console.log('listening for requests on port 4000,');
});
app.use(express.static('public'));
var io = socket(server);
io.sockets.on('connection', (socket) => {
socket.emit('hello','msg from server');
socket.on('call', (data)=>{console.log(data)});
}