socket.io

作者: Daeeman | 来源:发表于2020-03-31 23:35 被阅读0次

    关于socket.io

    简而言之,socket.io就是基于websocket封装的一个库,主要特点是能够进行实时的双向通讯,主要应用场景有实时的聊天,数据实时分析,数据传输,文件协同合作。

    Socket.IO支持实时,双向和基于事件的通信。

    它适用于所有平台,浏览器或设备,并同时关注可靠性和速度

    一.具有以下优点:

    1.实时分析

    将数据推送到以实时计数器,图表或日志表示的客户端。

    2.即时通讯和聊天

    Socket.IO的“ Hello world”是一个仅需几行代码的聊天应用程序。

    3.二进制流

    从1.0开始,可以来回发送任何Blob:图像,音频,视频。

    4.文件协作

    允许用户同时编辑文档并查看彼此的更改。

    二.安装

    1.首先,创建一个package.json描述项目的清单文件。将其放在专用的空目录中(将其称为mine chat-example)。

    { “ name”:“ socket-chat-example”,“ version”:“ 0.0.1”,“ description”:“我的第一个socket.io应用程序”,“ dependencies”:{} }
    
    

    2.填充属性,使用npm install:

       npm安装express@4.15.2
    
    

    3.创建一个index.js文件来设置我们的应用程序。

    var app = require('express')(); 
    var http = require('http').createServer(app);
    
    app.get('/',function(req,res) { 
        res.send('<h1> Hello world </ h1>'); 
    });
    
    http.listen(3000,功能() { console .log('正在*:3000'收听); });
    
    

    4.运行,得到http://localhost:3000

    5.连接

         //连接websocket后端服务器
         this.socket = io.connect('ws://mychat.applinzi.com');
    
    

    6.登录与注销

    //监听新用户登录
     this.socket.on('login', function(o){
        console.log(o, 'login');
      });
      //监听用户退出
      this.socket.on('logout', function(o){
          console.logo(o, 'logout');
    });
    
    

    7.发送登录信息

      //告诉服务器端有用户登录
      this.socket.emit('login', {userid:this.userid, username:this.username});
    
    

    8.发送信息

      var obj = { userid: this.userid,username: this.username, content:         content};
      this.socket.emit('message', obj);
    
    

    9.监听消息发送

        //监听消息发送
        this.socket.on('message' , function(obj){
                console.log(obj,' message')
      }}
    

    相关文章

      网友评论

        本文标题:socket.io

        本文链接:https://www.haomeiwen.com/subject/reunuhtx.html