Почему Chrome не может отправить через веб-сокет в тесной петле, но Firefox может? - PullRequest
0 голосов
/ 07 декабря 2018

Это продолжение моего недавнего вопроса здесь , так как я еще более сузил проблему.

Я работаю над функциональностью для потоковой передачи большого файла из браузера черезвеб-сокет в блоках по 1 МБ, но реализация веб-сокета в Chrome, похоже, не справляется с программой чтения файлов.Приведенный ниже код отлично работает в Firefox (версия 63), но замедляет сканирование в Chrome (версия 68) и, по-видимому, останавливает браузер.Любые идеи?

простой сервер веб-сокета для получения данных:

const WebSocket = require('ws')

const wsServer = new WebSocket.Server({ port: 9001 })

код браузера:

<!doctype html>
<html>
  <head>
  </head>

  <body>
    <input id='file_button' type='file'></input>
    <script>
      const ws = new WebSocket('ws://localhost:9001')

      const data = new Uint8Array(1024*1024).fill(1)

      ws.onopen = () => {
        for (let i = 0; i < 1000; i++) {
          console.log("send")
          ws.send(data)
        }
      }
    </script>
  </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...