zoukankan      html  css  js  c++  java
  • websocket双向通信

    使用websocket建立客户端与服务器的双向连接

    实现效果:

    实现代码:

    1.init方法:

    init: function () {
      if(typeof(WebSocket) === "undefined"){
        alert("您的浏览器不支持socket")
      }else{
        // 实例化socket
        this.socket = new WebSocket(this.path)
        // 监听socket连接
        this.socket.onopen = this.open
        // 监听socket错误信息
        this.socket.onerror = this.error
        // 监听socket消息
        this.socket.onmessage = this.getMessage
        //关闭socket连接
        this.socket.onclose = this.websocketclose
      }
    },

    path变量:

    export var pathFile = "ws://192.168.1.145:8081/hawkeye/";
    
    path: pathFile+"webSocket/",

    2.建立连接:

    open: function (e) {
      let data = this.network+"_"+this.partition+"_nodeId";
      this.send(data);
      console.log("socket连接成功")
    },
    

    3.给服务端发送消息:

    send: function (Data) {
      this.socket.send(Data);
    },
    

    4.接收消息:

    getMessage: function (msg) {
      var data = JSON.parse(msg.data);
    }
    

    5.断开连接:

    websocketclose(e){  //关闭
      console.log('断开连接',e);
    },
    

    6.错误提醒方法:

    error: function () {
      console.log("连接错误")
    },
    

    注意:

    1.可以手动关闭websocket连接:this.socket.close();

    2.若是需要在某种情况下要重新给服务端发送数据,可以直接let data = this.network+"_"+this.partition+"_nodeId";   this.send(data);因为一直处于连接中

    3.若是在一进来页面就要开始websocket连接,可以直接在open建立连接时就发送数据。

    4.双向通信时都是使用string字符串传输。

  • 相关阅读:
    关于javascript app框架的几篇文章
    php 开发笔记
    php 图片处理扩展(windows平台)
    [javascript]最短 domready
    javascript小陷阱
    HTML DOM whiteSpace
    40岁后才明白的道理:人一生奋斗余地很有限转载
    [学习笔记]lca倍增
    Django model 字段类型及选项解析转载
    PythonPEP8 风格规范指南
  • 原文地址:https://www.cnblogs.com/5201314m/p/11997241.html
Copyright © 2011-2022 走看看