• NodeJS怎么实现WebSocket功能


    这次给大家带来NodeJS怎么实现WebSocket功能,NodeJS实现WebSocket功能的注意事项有哪些,下面就是实战案例,一起来看一下。

    我们基于expresssocket.io开发,首先我们需要安装以下包

    1

    2

    npm install --save express

    npm install --save socket.io

    服务器端代码:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    var app = require('express')();

    var http = require('http').Server(app);

    var io = require('socket.io')(http);

    app.get('/', function(req, res){

      res.send('<h1>Welcome Realtime Server</h1>');

    });

    io.on('connection', function(socket){

      console.log('a user connected');

      socket.on("disconnect", function() {

        console.log("a user go out");

      });

      socket.on("message", function(obj) {

        io.emit("message", obj);

      });

    });

    http.listen(3000, function(){

      console.log('listening on *:3000');

    });

    客户端代码

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    <!DOCTYPE html>

    <html lang="en">

    <head>

      <meta charset="UTF-8">

      <title>Document</title>

      <script src="http://127.0.0.1:3000/socket.io/socket.io.js"></script>

    </head>

    <body>

      <ul id="message"></ul>

      <script>

        socket = io.connect('ws://127.0.0.1:3000');

        socket.emit("message", {"name" : navigator.userAgent, "msg" : "hello world"});

        socket.on("message", function(obj) {

          console.log(obj);

        });

      </script>

    </body>

    </html>

    一个控制台版的聊天室做好了(^o^)/~

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    Immutable.js怎样实现撤销重做效果

    Vuex的mutations与actions使用详解

    以上就是NodeJS怎么实现WebSocket功能的详细内容,更多请关注php中文网其它相关文章!

  • 相关阅读:
    JS重写alert,保证弹窗错误的友好性
    wpf窗体中复合控件焦点控制
    mybatis特殊字符转义
    SpringMVC HandlerMethodArgumentResolver自定义参数转换器
    IntelliJ IDEA创建maven web项目
    shiro app
    Linux查看日志定位问题
    Flask中使用Flask-Migrate扩展迁移数据库
    flask + pymysql操作Mysql数据库
    HTTP
  • 原文地址:https://www.cnblogs.com/shaozhu520/p/11327829.html
Copyright © 2020-2023  润新知