PulseBeamDev/PulseBeam-JS: WEBRTC Peer-T-Peer Communication JS Client SDK

Упрощает разработку приложений в реальном времени. Определяет протокол сигнализации для создания соединения, обработки средств среды и передачи данных и обеспечивает инфраструктуру.

  • Поддержка медиа и данных: передавать аудио, видео и/или каналы данных в ваших приложениях.
  • Аннотация сигнализация: обрабатывает обмен информацией, необходимой для настройки соединений WEBRTC, освобождая вас от деталей низкого уровня.
  • Автоматическое повторное соединение: поддерживает стабильность подключения путем автоматического восстановления соединений, когда происходят сбои.
  • Отказаться от однорангового: можно настроить, чтобы принудительно обработан серверной связи.

Предупреждение

Этот SDK в настоящее время находится в Предварительный просмотр разработчикаПолем На этом этапе:

  • API -интерфейсы подвержены нарушению изменений
  • Могут возникнуть проблемы с стабильностью
  • Основная функциональность все еще подтверждается

Мы ценим ваш вход!
Сообщите об ошибках, предлагайте улучшения или сотрудничать напрямую с нашей командой:

Создать проблемы GitHub
Присоединяйтесь к Discord разработчику Pulsebeam Discord

Установите и импортируйте пакет, используя NPM, DENO или пряжу:

Добавить пакет

npm i @pulsebeam/peer

Символ импорта

import * as peer from "@pulsebeam/peer";

Добавить пакет

yarn add @pulsebeam/peer

Символ импорта

import * as peer from "@pulsebeam/peer";

Вот пример, демонстрирующий, как использовать @Pulsebeam/Peer, чтобы установить одноранговое соединение:

{session.ontrack = ({streams}) => console.log (“New Media Stream:”, Streams); session.ondatachannel = (event) => console.log (“канал данных:”, event.channel); session.onconnectionStateChange = () => console.log (“Состояние соединения изменено”); }; // запустить доступность Алисы. Подключиться к нашим сигнальным серверам peer.start (); // подключиться к Bob Const abortController = new AbortController (); waust peer.connect (Groupid, “Bob”, AbortController.Signal); “>

import { Peer, createPeer } from "@pulsebeam/peer";

// Obtain an authentication token (implementation specific)
const authResponse = await fetch("/auth");
const { groupId, token } = await authResponse.json();

// Create a Peer instance
const peer = await createPeer({ token });

peer.onsession = (session) => {
  session.ontrack = ({ streams }) => console.log("New media stream:", streams);
  session.ondatachannel = (event) => console.log("Data channel:", event.channel);
  session.onconnectionstatechange = () => console.log("Connection state changed");
};

// Start Alice's availability. Connect to our signaling servers
peer.start();

// Connect to bob
const abortController = new AbortController();
await peer.connect(groupId, "bob", abortController.signal);

Этот пример извлекает токен аутентификации (детали реализации будут варьироваться в зависимости от вашей настройки), создает экземпляр сверстника и определяет обработчики событий для получения потоков мультимедиа, каналов данных и изменений состояния соединения (необязательно). Наконец, он запускает попытки подключения и подключается к конкретному сверстнику, идентифицируемому своим идентификатором в группе.

Read more:  Создание собственного инструмента Optimizely Opal с помощью OCP SDK

Для документации, ключей API и сценариев использования, пожалуйста, обратитесь к официальной документации PulseBeam:

Этот проект придерживается Семантические версии 2.0.0Полем

  • Основная версия (xyz): Несовместимые изменения API.
  • Незначительная версия (xyz): Функциональность добавлена в обратном порядке.
  • Патч версия (xyz): Обратно совместимых исправлений ошибок.

Для более глубокого понимания концепций WEBRTC обратитесь к официальной документации WEBRTC:

2025-02-05 22:46:00


1738799178
#PulseBeamDevPulseBeamJS #WEBRTC #PeerTPeer #Communication #Client #SDK

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.