Vue Socket.io没有收到数据

时间:2017-11-29 20:16:06

标签: node.js sockets vue.js vuex flask-socketio

我目前有一个Python Flask SocketIO应用程序,它将使用this socket.io library连接到Vue应用程序。 Vue应用程序(当前)将在按下按钮时使用socket.io轮询Python应用程序。我可以正确接收从Vue发送的数据;但是,Vue没有收到数据。目前,我的行为/突变看起来像这样:

const actions = {
  fbCommentsPerPost: (context) => {
    console.log('fb comments per post sent!')
    socket.emit('fb comments per post', { post_id: '123' })
    // socket.on('data', function (resp) {
    //   console.log(resp)
    // })
  },
  socket_connectResp: (context, message) => {
    console.log(message)
  },
  socket_fbData: (context, message) => {
    console.log(message)
  }
}

// mutations
const mutations = {
  SOCKET_FB_DATA: (state, status) => {
    console.log('comments!!!!')
  }
}

使用此项目的自述文件,socket_fbData 应该从Python应用程序接收数据(后端正在发出' fb数据')。当我使用socket.io-client在节点中运行一个简单的客户端时,这可以工作,我可以正确地接收数据。此外,当我取消注释fbCommentsPerPost中的socket.on块时,我至少可以控制记录数据。我在这里找不到什么东西?

1 个答案:

答案 0 :(得分:1)

vue-socket.io在将套接字事件转换为操作和突变方面存在问题。它有点工作但不如预期。检查问题#117

几个月前,很少有PR解决此问题,但有些edge cases未涵盖。因此,您可以尝试最新版本,或者转移到vue-socket.io-extended