Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用Socket.IO对JS进行响应,服务器向客户端发送消息,但客户端不';无法发送到服务器_Reactjs_Socket.io - Fatal编程技术网

Reactjs 使用Socket.IO对JS进行响应,服务器向客户端发送消息,但客户端不';无法发送到服务器

Reactjs 使用Socket.IO对JS进行响应,服务器向客户端发送消息,但客户端不';无法发送到服务器,reactjs,socket.io,Reactjs,Socket.io,我正在学习Socket.IO,我正在尝试做一些非常简单的事情,在连接时从服务器向客户端发送一些文本(这是可行的),并从客户端向服务器发送一个信号(这是不可行的)。 这是我的客户端代码(ReactJS组件) 客户端:在浏览器上,我正确地看到“还没有文本”,一旦客户端连接到服务器,它就会变为“您已连接” 然而,在服务器端,我只在每次客户端浏览器刷新时在终端上看到“客户端已连接”,而没有其他内容,没有“已更新”和“客户端已断开连接” 我做错了什么?我认为您需要将消息事件处理程序附加到提供的套接字连接对

我正在学习Socket.IO,我正在尝试做一些非常简单的事情,在连接时从服务器向客户端发送一些文本(这是可行的),并从客户端向服务器发送一个信号(这是不可行的)。 这是我的客户端代码(ReactJS组件)

客户端:在浏览器上,我正确地看到“还没有文本”,一旦客户端连接到服务器,它就会变为“您已连接”

然而,在服务器端,我只在每次客户端浏览器刷新时在终端上看到“客户端已连接”,而没有其他内容,没有“已更新”和“客户端已断开连接”


我做错了什么?

我认为您需要将消息事件处理程序附加到提供的
套接字
连接对象,而不是
io
服务器实例:

socket.on('Update',函数(ttext){
console.log('Updated');
});

我认为您需要将消息事件处理程序附加到提供的
套接字
连接对象,而不是附加到
io
服务器实例:

socket.on('Update',函数(ttext){
console.log('Updated');
});
import React, { Component } from 'react';

const io = require('socket.io-client');
const socket = io.connect('http://x.x.x.x:xxxx');

class Client extends Component {
    constructor(props) {
        super(props);
        this.state = {
            String1: 'No text yet',
        }
    }
    componentDidMount() {
        socket.on("message", data => this.setState({ String1: data }));

        { socket.emit('Update', 'test') }
    };
    render() {
        return (
            <div>
                String1 is: {this.state.String1}
            </div>
        );
    }
}
export default Client;
const server = require('http').createServer() 
const io = require('socket.io')(server) 

io.on('connection', function (socket) { 
        console.log('client connected'); 
        socket.emit('message', 'You are connected'); 
        io.on('Update', function(ttext){     
                console.log('Updated'); 
        }); 
}); 

io.sockets.on("disconnect", () => console.log("Client disconnected")); 

server.listen(3000, function (err) { 
          if (err) throw err 
          console.log('listening on port 3000') 
})