我将nodeJs用作后端,将reactJs用作前端,这是我从node发出了一个socket发出函数
var server = require('http').createServer();
var io = require('socket.io')(server);
io.emit('quantity_check', 'KR')
现在的问题是我无法捕捉到发射光
let serverUrl = 'localhost:3008'
const socket = socketIOClient(serverUrl);
socket.on("quantity_check", data => this.setState({ kiiii: data }));`
const socket = socketIOClient(serverUrl);
即使我尝试使用IP进行连接,我也在本地进行检查,我不确定问题出在哪里 pc:nodejs和reactjs运行在不同的端口上
答案 0 :(得分:0)
您可以将节点服务器文件和react文件的代码发布到您正在侦听套接字的位置吗?无论如何,我希望发射事件在connection
io.on('connection', function(socket) {
io.emit('quantity_check', 'KR')
}
您是否使用了生命周期方法componentDidMount
来接收消息
componentDidMount() {
socket.on("quantity_check", data => {
console.log(data);
});
}
尝试这样的事情。
服务器
const server = require('http').createServer();
const io = require('socket.io')(server);
io.on('connect', (socket) => {
io.emit('quantity_check', 'KR');
});
客户端(反应侧)
import io from 'socket.io-client';
const socket = io('http://localhost:3008');
export class App extends Component {
componentDidMount() {
socket.on('connect', () => {
console.log(socket.connected);
});
socket.on("quantity_checke", data => {
console.log(data);
});
}
render().......
}