Registre um processo de uso de websocket

        Registre um processo de uso de websocket. O problema que precisa ser resolvido é: a empresa tem uma exigência e precisa exportar cerca de 200 mil dados. Em primeiro lugar, o tempo de solicitação para exportar tantos dados é muito longo, o que pode fazer com que os usuários sintam que a rede está travada e o tamanho do download é muito grande. Calculei que deveria ser de dois ou três gigabytes, então o download o tempo é muito longo e o Excel não consegue abrir tantos arquivos.

        A solução (não muito boa, a solicitação deve ser fragmentada, mas o backend fornece apenas um certo suporte técnico, e esse lixo nunca foi feito): usar websocket para estabelecer um link longo, solicitar recursos diretamente no navegador e no backend Coloque o arquivo Excel diretamente no navegador e coloque vários arquivos Excel, para que a fragmentação do arquivo possa ser obtida indiretamente.

        Processo de uso:

  created() {
    this.initWebSocket();
  },
  destroyed() {
    // 组件销毁时关闭
    this.websocketclose();
  },
  data() {
    return {
      websock: null,
    };
  },
  methods: {
    initWebSocket() {
      //初始化weosocket
      const wsuri = "ws://172.16:8099"; // 地址更改为需要的地址 : 端口号如果nginx 有做配置可以不加
      this.websock = new WebSocket(wsuri); // 创建
      this.websock.onmessage = this.websocketonmessage;
      this.websock.onopen = this.websocketonopen;
      this.websock.onerror = this.websocketonerror;
      this.websock.onclose = this.websocketclose;
    },
    websocketonopen() {
      //连接建立之后执行send方法发送数据
      this.websocketsend();
    },
    websocketonerror() {
      //连接建立失败重连
      this.initWebSocket();
    },
    websocketonmessage(e) {
      //数据接收
      const redata = JSON.parse(e.data);
      let a = document.createElement("a");
      a.href = VUE_APP_BASE + redata.data;  // 此处使用公司阿里云服务
      a.click();
    },
    websocketsend() {
      //数据发送
      this.websock.send(data); // 此处添加需要发送的数据
    },
    websocketclose(e) {
      console.log(e, '建立失败')
    },
  },

Acho que você gosta

Origin blog.csdn.net/z_langjitianya/article/details/131189894
Recomendado
Clasificación