Node HTTP 服务一起使用

Server(app),服务端

  1. const app = require('http').createServer(handler)
  2. const io = require('socket.io')(app)
  3. const fs = require('fs')
  4. app.listen(80)
  5. function handler(req,res){
  6. fs.readFile(__dirname+'/index.html',(err,data)=>{
  7. if(err){
  8. res.writeHead(500);
  9. return res.end('Error loading index.html,server error!')
  10. }
  11. res.writeHead(200);
  12. res.end(data)
  13. }),
  14. }
  15. io.on('connection',(socket)=>{
  16. socket.emit('news',{hello:'world'})//发送个客户端消息
  17. socket.on('my other event',(data)=>{
  18. console.log(data)//收到的消息
  19. })
  20. })

Client(index.html),客户端

  1. <script src="/socket.io/socket.io.js"></script>
  2. <script>
  3. const socket=io('http://localhost');//这里一定要http开头,因为socket.io不是websocket实现的
  4. socket.on('news',(data)=>{
  5. console.log(data)//收到服务器emit的消息
  6. socket.emit('my other event',{my:'data'})//完成了一次消息互换
  7. })
  8. </script>