Как вы передаете двоичные сообщения в / из веб-работника javascript? - PullRequest
2 голосов
/ 16 июня 2009

Я создаю многопоточное клиентское JavaScript-приложение и хотел бы, чтобы фоновый поток извлекал двоичные данные и передавал их в основной поток. Я знаю, что это можно сделать на других языках через сериализацию, но как мне сделать это в JavaScript?


Я мог бы превратить это приложение в автономное приложение XULrunner, чтобы повысить его эффективность, поэтому я предпочел бы пойти по пути «веб-работников» в HTML5 по сравнению с использованием Gears.

Ответы [ 3 ]

4 голосов
/ 16 июня 2009

API-интерфейс postMessage Web Workers принимает объект JavaScript. Mozilla Использование веб-работников Документация гласит:

Вы можете безопасно передавать объекты внутрь и наружу. работников, использующих postMessage () Способ; объекты автоматически внутренне преобразован в JSON.

Таким образом, вы можете использовать любой объект JavaScript, который поддерживает или может быть преобразован в ваши двоичные данные. В зависимости от других факторов, может быть преобразовано в строку Base64 (см. Как можно кодировать в Base64 с помощью Javascript? ) или использовать массив чисел.

1 голос
/ 28 марта 2016

Вы используете postMessage, как было указано здесь, однако, объект / данные должны быть закодированы в base64 перед передачей с помощью atob ()

0 голосов
/ 16 июня 2009

Готовы ли вы использовать Google Gears? Это как раз то, для чего предназначена WorkerPool реализация потоков

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...