Koa,React和socket.io

安装

socket.io/socket.io-client

基本用法

首先koa和socket.io代码片段

const server = require('http').

const server = require('http').Server(app.callback())

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

io.on('connection', socket => {
  console.log('连接成功!')
})

server.listen(8080, () => console.log('http:localhost:8080'))

然后react和socket.io-client代码片段,因为我们是跨域

componentDidMount() {
  io('ws://localhost:8080')
}

至此连接成功

具体用法

客户端向服务器发送请求

socket.emit('sendmsg', {text})

服务器监听客服端请求,然后把数据返回给客户端

io.on('connection', socket => {
  socket.on('sendmsg', data => {
    io.emit('recvmsg', data)
  })
})

客户端监听'recvmsg'获取数据

socket.on('recvmsg', data=>{
      this.setState({
        msg:[...this.state.msg, data.text]
      })
    })