socket.io 实现长连接演示代码

服务端(node)

var express = require('express');
var app = express();
var server = require('http').Server(app);
var ws = require('socket.io')(server);
//将socket 服务器和express 进行结合

app.use(express.static(__dirname + '/client'))
// 客户端连接
ws.on('connection', function (client) {
    client.emit('hehe','欢迎光临')     //发送呵呵事件,该事件数据为'欢迎光临'
    client.on('haha',(msg)=>{
      console.log('haha'+msg)
    })
});

server.listen(8081, '0.0.0.0');

客户端(H5)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>socket.io</title>
  <script src="socket.io.js" charset="utf-8"></script>
</head>
<body>

  <script>
    var socket = io.connect('http://10.9.68.149:8081');
    //连接服务器

      socket.on('hehe', function(msg){
        console.log('hehe'+msg)
      })
      socket.emit('haha','我来了')
  </script>
</body>
</html>

ps

1.和websocket相比,需要在客户端引入socket.io.js(该文件在服务端npm install的时候,在node_modules里socket.io-client里找)

原文地址:https://www.cnblogs.com/zhenhunfan2/p/13626747.html