Ошибка соединения WRTC при отправке двоичного файлаJavascript

Форум по Javascript
Ответить
Anonymous
 Ошибка соединения WRTC при отправке двоичного файла

Сообщение Anonymous »

Я работаю над своим электронным проектом для отправки файлов по локальной сети.
Для фактической отправки я предпочитаю использовать wrtc через Simple-Peer, и он находится на бэкэнде (может быть, это странно, я знаю), поэтому я предоставил Simple-Peer @roamhq/wrtc, чтобы он работал в среде узла.
Проблема, с которой я столкнулся, заключается в том, что я могу отправлять данные слишком быстро или слишком большими фрагментами, и тогда они зависают. приводит к сбою программы.
Контекст: это два экземпляра электронного приложения, которые подключаются друг к другу через Simple-Peer, и один отправляет файл другому по моему выбору. Отправка чего-то вроде «Привет» работает, вероятно, потому, что это всего лишь небольшой объем данных.
Кроме того, отправляющий экземпляр работает нормально, он нормально читает файл и отправляет его. Умирает принимающая сторона.
Вот соответствующие фрагменты:
Отправка:

Код: Выделить всё

eventBus.on("peer-file-request", (file) => {
if (!this.connection) return;
const stream = createReadStream(file.path);

stream.on("data", (data) => {
console.log("[STREAM] Sending: ", data);
this.peer.send(data);
});
});
Я считаю, что размер порции данных, считываемой потоком узла, по умолчанию составляет 64 КБ. Я уменьшил его с помощью параметра водяного знака в createReadStream до 1 КБ, но проблема осталась.
Прием:

Код: Выделить всё

this.peer.on("data", (data) => {
console.log("[PEER] Received data: ", data);
});
Что касается принимающей части, я просто хотел войти в систему и посмотреть, получены ли данные, чтобы я мог продолжить создание правильного интерфейса, но я застрял здесь.
Происходит следующее: как только я начинаю отправлять что-то, например небольшой файл .log размером 14 КБ, принимающий экземпляр просто зависает, выдает мне ошибку, если я немного подожду, что соединение Ice не удалось, и тогда трудно даже закрыть приложение.
Я не знаю что именно я здесь нарушаю, это само соединение, почему я отправляю слишком быстро или слишком большие фрагменты, или я отправляю неправильный тип данных, или это что-то совершенно другое?
Любая помощь/материалы для чтения по этому поводу приветствуются

Подробнее здесь: https://stackoverflow.com/questions/798 ... ing-binary
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»