如何使用socket.io从服务器发送整个状态json数据以响应客户端?

时间:2018-04-15 10:05:34

标签: javascript json node.js reactjs socket.io

基本上,下面的代码片段是我在客户端只为时间戳设置我的状态,但我想在这里设置所有的json数据。

constructor(props) {
  super(props);

  subscribeToTimer((err, timestamp) => this.setState({ 
    timestamp
  })); 
} 

这就是我在api组件中的内容,请注意我最初要在服务器中放置json数据。

   import openSocket from 'socket.io-client';

   const  socket = openSocket('http://localhost:8000');

   function subscribeToTimer(cb) {
     socket.on('timer', timestamp => cb(null, timestamp));
     //socket.on(wooOrderId = > )
     socket.emit('subscribeToTimer', 1000);
   }
   export { subscribeToTimer };

下面是我的时间戳的服务器代码,我想在这里设置我的所有json数据,以便将它传输到我的客户端,如果我错了,请纠正我,非常感谢你,thx。

  const io = require('socket.io')();

  io.on('connection', (client) => {
    client.on('subscribeToTimer', (interval) => {
      console.log('client is subscribing to timer with interval ', interval);
      setInterval(() => {
        client.emit('timer', new Date());
      }, interval);
    });
  });

  const port = 8000;
  io.listen(port);
  console.log('listening on port ', port);

基本方案是根据tutorial

完成的

0 个答案:

没有答案