2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Alors que les applications Web modernes nécessitent de plus en plus de communication et de décentralisation en temps réel, les bibliothèques JavaScript jouent un rôle clé dans la création de connexions peer-to-peer, le transfert de données en temps réel et les réseaux distribués. Cet article présentera plusieurs bibliothèques JavaScript populaires, notamment PeerJS, WebTorrent, Simple-Peer, Socket.IO, Libp2p et SwarmJS, chacune fournissant différentes fonctions et fonctionnalités pour répondre à différents besoins de développement.
Bienvenue à vous abonner à la chronique :Univers de scripts JavaScript
PeerJS est une bibliothèque JavaScript permettant d'établir des connexions peer-to-peer, ce qui facilite la communication directe entre les navigateurs. La bibliothèque fournit une API simple et facile à utiliser, permettant aux développeurs de créer rapidement des applications basées sur des connexions P2P. Grâce à PeerJS, les utilisateurs peuvent effectuer un chat vidéo, un partage de fichiers et d'autres fonctions directement dans le navigateur sans recourir à un serveur tiers.
PeerJS convient aux scénarios nécessitant une communication point à point dans le navigateur, tels que les plateformes de formation en ligne, les outils de collaboration en temps réel, les applications de vidéoconférence, etc.
Vous pouvez installer PeerJS via npm :
npm install peerjs
Avant d'utiliser PeerJS, vous devez introduire le fichier JavaScript correspondant dans la page :
<script src="https://cdn.jsdelivr.net/npm/peerjs@1"></script>
Tout d’abord, nous devons créer un objet Peer pour représenter le client actuel.
const peer = new Peer({key: 'your-api-key'});
Dans le code ci-dessus,your-api-key
Elle doit être remplacée par la clé API que vous avez demandée sur le site officiel de PeerJS.Si vous n'avez pas de clé API, vous pouvez accéder àSite officiel de PeerJSAppliquer.
Une fois l'objet Peer créé avec succès, nous pouvons essayer d'établir des connexions avec d'autres clients. Voici un exemple simple montrant comment établir une connexion peer-to-peer via PeerJS :
// 初始化Peer对象
const peer = new Peer({key: 'your-api-key'});
// 当Peer对象打开连接时
peer.on('open', (id) => {
console.log('My peer ID is: ' + id);
});
// 尝试连接至另一个Peer
const conn = peer.connect('another-peer-id');
// 当连接建立时
conn.on('open', () => {
// 发送数据
conn.send('Hello, world!');
});
Dans l'exemple ci-dessus, nous avons d'abord initialisé un objet Peer et généré l'ID correspondant après avoir ouvert la connexion. Nous avons ensuite essayé d'établir une connexion avec un autre homologue et envoyé un message une fois la connexion établie.
Ce qui précède est une brève introduction et une utilisation de base de la bibliothèque PeerJS.Pour une documentation et des exemples d'API plus détaillés, veuillez vous référer àDocumentation officielle。
WebTorrent est une bibliothèque client P2P BitTorrent moderne qui peut être utilisée dans le navigateur et Node.js. Il utilise le canal de données WebRTC pour obtenir une transmission multimédia en streaming efficace.
WebTorrent fournit une fonction de partage de fichiers peer-to-peer (P2P) basée sur WebRTC, qui peut télécharger et partager des fichiers torrent directement dans le navigateur, et prend également en charge l'exécution dans l'environnement Node.js.
WebTorrent peut être utilisé pour créer des applications de transmission multimédia en streaming multiplateforme pour des données vidéo, audio et autres données multimédia en temps réel, et peut également être utilisé dans l'éducation en ligne, les conférences à distance et d'autres domaines.
L'utilisation de WebTorrent dans un navigateur ne nécessite l'installation d'aucun logiciel, juste l'introduction de la bibliothèque JavaScript correspondante. Utilisé dans Node.js, peut être installé via npm :
npm install webtorrent
Dans l'environnement du navigateur, vous pouvez introduire directement les fichiers JavaScript liés à WebTorrent :
<script src="https://cdn.jsdelivr.net/npm/webtorrent/webtorrent.min.js"></script>
Dans un environnement Node.js, WebTorrent peut être introduit en utilisant :
const WebTorrent = require('webtorrent');
WebTorrent fournit une API pour créer des torrents, qui peut convertir des fichiers locaux ou des liens en fichiers torrent. L'exemple de code est le suivant :
const client = new WebTorrent();
// 创建种子
client.seed('path/to/file', { announce: ['wss://tracker.openwebtorrent.com'] }, torrent => {
console.log('种子已创建:', torrent.magnetURI);
});
Pour plus d'informations sur la création de graines, veuillez vous référer à Documentation officielle de WebTorrent。
Les utilisateurs peuvent se connecter à d'autres nœuds, partager et télécharger des fichiers via WebTorrent. L'exemple de code est le suivant :
// 加入种子
client.add('magnet:?xt=urn:btih:6bec5a9f74c8d5ea5b9d0ea9cdaae3815f14a28b', torrent => {
// 下载完成后触发
torrent.on('done', () => {
console.log('下载完成');
// 获取文件
const file = torrent.files[0];
file.getBuffer((err, buffer) => {
if (err) throw err;
console.log('获取文件的缓冲区:', buffer);
});
});
});
Pour plus d'informations sur la connexion des pairs, veuillez vous référer à Documentation officielle de WebTorrent。
Expansion : WebTorrent fournit également de nombreuses autres API et fonctions utiles, telles que le streaming, la gestion des files d'attente de téléchargement, etc., que les développeurs peuvent effectuer des recherches approfondies et utiliser en fonction de besoins spécifiques.
Simple-Peer est une bibliothèque JavaScript pour WebRTC qui fournit une interface plus simple pour implémenter la transmission de données point à point et la communication en streaming.
Simple-Peer fournit principalement les fonctions de base suivantes :
Simple-Peer peut être utilisé pour créer des applications de messagerie instantanée basées sur un navigateur, des systèmes de vidéoconférence, le partage de fichiers et d'autres scénarios nécessitant une communication point à point.
Vous pouvez installer Simple-Peer via npm :
npm install simple-peer
Ou utilisez CDN pour l'importer directement dans le fichier HTML :
<script src="https://cdn.jsdelivr.net/npm/simple-peer@latest"></script>
Avant d'utiliser Simple-Peer, vous devez vous assurer que votre application prend en charge WebRTC et que l'utilisateur a autorisé l'utilisation de la caméra et du microphone.
Vous pouvez créer un objet SimplePeer à l'aide du code suivant :
const SimplePeer = require('simple-peer');
// 初始化 SimplePeer 对象
const peer = new SimplePeer({
initiator: true, // 是否是连接的发起方
trickle: false // 是否启用 ICE trickle(加速连接过程)
});
Pour plus d'informations sur la création d'objets SimplePeer, veuillez vous référer à Documentation officielle。
Une fois la connexion établie avec succès, vous pouvez envoyer des données via le canal de l'objet SimplePeer. Voici un exemple simple :
// 监听连接建立事件
peer.on('connect', () => {
// 发送数据
peer.send('Hello, world!');
});
// 监听数据接收事件
peer.on('data', data => {
console.log('Received', data);
});
Dans l'exemple ci-dessus, on passe send
La méthode envoie un morceau de données de chaîne et écoutedata
événement pour recevoir des données.
Ce qui précède est un exemple simple de Simple-Peer. Pour des options d'utilisation et de configuration plus détaillées de l'API, veuillez vous référer à. Documentation officielle。
Socket.IO est une bibliothèque JavaScript qui offre des capacités de communication bidirectionnelle en temps réel et peut être utilisée pour créer des applications Web en temps réel. Il est basé sur le protocole WebSocket traditionnel et prend également en charge les sondages et autres mécanismes de communication en temps réel, ce qui le rend plus compatible.
Les principales fonctionnalités de Socket.IO incluent :
Socket.IO peut être utilisé dans des scénarios nécessitant une mise à jour des données en temps réel, tels que les jeux en ligne, la messagerie instantanée, l'édition collaborative en temps réel, etc.
Installer via npm :
npm install socket.io
Côté serveur, utilisez le code suivant pour initialiser Socket.IO :
const io = require('socket.io')(http);
Côté client, introduisez la bibliothèque client Socket.IO :
<script src="/socket.io/socket.io.js"></script>
Côté client, établissez une connexion Socket avec le serveur via le code suivant :
const socket = io();
Socket.IO prend en charge le déclenchement et la surveillance d'événements personnalisés.Ce qui suit est un exemple simple, lorsque le côté serveur déclenchechat message
Lorsqu'un événement survient, le client effectue les opérations correspondantes :
Terminal de service :
io.on('connection', (socket) => {
socket.on('chat message', (msg) => {
io.emit('chat message', msg);
});
});
Client:
socket.on('chat message', (msg) => {
console.log('message: ' + msg);
});
Pour des informations plus détaillées sur l'API et des exemples d'utilisation, voir Documentation officielle de Socket.IO。
Libp2p est une pile de protocoles réseau modulaire permettant de créer des applications réseau décentralisées. Elle fournit une série de modules et d'outils permettant aux développeurs de créer facilement des applications réseau peer-to-peer (P2P).
Installez Libp2p via npm :
npm install libp2p
const Libp2p = require('libp2p')
async function createNode() {
const node = await Libp2p.create()
await node.start()
console.log('Node started!')
}
createNode()
utiliserLibp2p.create()
la méthode crée le nœud puis appellestart()
Méthode pour démarrer le nœud. Voici l'exemple de code JavaScript complet :
const Libp2p = require('libp2p')
async function createNode() {
const node = await Libp2p.create()
await node.start()
console.log('Node started!')
}
createNode()
Documentation officielle :Libp2p - Créer un nœud
Libp2p fournit une API riche pour gérer la transmission et le routage des données, comme l'utilisation de protocoles de transmission pour la transmission de données, la mise en œuvre de stratégies de routage personnalisées, etc. Voici un exemple simple de transfert de données :
const Libp2p = require('libp2p')
const TCP = require('libp2p-tcp')
const MPLEX = require('libp2p-mplex')
async function createNode() {
const node = await Libp2p.create({
addresses: {
listen: ['/ip4/0.0.0.0/tcp/0']
},
modules: {
transport: [TCP],
streamMuxer: [MPLEX]
}
})
await node.start()
console.log('Node started!')
}
createNode()
Documentation officielle :Libp2p – Transmission et routage des données
Grâce à l'introduction, à l'installation et à la configuration ci-dessus, ainsi qu'à la présentation de l'API de Libp2p, j'espère que cela pourra vous aider à comprendre et à commencer à utiliser la bibliothèque Libp2p plus rapidement.
SwarmJS est une bibliothèque JavaScript basée sur le protocole réseau Swarm, conçue pour fournir des capacités de stockage et de communication distribuées. Il permet aux développeurs d'échanger et de stocker des données sur un réseau P2P, permettant une gestion des données hautement sécurisée et décentralisée.
Les principales fonctionnalités de SwarmJS incluent :
SwarmJS peut être utilisé dans des scénarios tels que des applications décentralisées (DApps), des portefeuilles de crypto-monnaie, le stockage de fichiers distribués, etc. pour obtenir un stockage sécurisé et une communication efficace des données.
SwarmJS peut être installé via l'outil de gestion de packages npm :
npm install swarm-js
Une fois l'installation terminée, la bibliothèque SwarmJS peut être introduite des manières suivantes :
const Swarm = require('swarm-js');
Rejoindre le réseau Swarm à l'aide de SwarmJS est très simple et peut se faire avec seulement quelques lignes de code :
// 创建Swarm实例
const mySwarm = new Swarm();
// 加入Swarm网络
mySwarm.joinNetwork();
Une documentation détaillée de l'API est disponible surDocumentation officielle de SwarmJSVu dans .
SwarmJS fournit des fonctions de stockage et de récupération de données simples et puissantes. Voici un exemple simple :
// 存储数据
mySwarm.put('key', 'value');
// 检索数据
mySwarm.get('key', (err, value) => {
if (err) {
console.error(err);
} else {
console.log('Retrieved value:', value);
}
});
Pour plus de détails sur l'API sur le stockage et la récupération des données, veuillez vous référer àDocumentation officielle de SwarmJS。
Grâce à SwarmJS, nous pouvons facilement mettre en œuvre un stockage et une communication distribués basés sur le protocole réseau Swarm, offrant ainsi de nouvelles possibilités au développement d'applications.
Cet article présente une série de bibliothèques JavaScript importantes qui jouent un rôle important dans le développement d'applications Web modernes. Qu'il s'agisse de créer une plate-forme de communication en temps réel, de mettre en œuvre la gestion des semences WebRTC ou de développer des applications réseau décentralisées, ces bibliothèques fournissent des fonctions riches et des API flexibles, offrant aux développeurs des outils puissants. En ayant une compréhension approfondie des fonctions de base, des scénarios d'utilisation et de la présentation des API de ces bibliothèques, les développeurs peuvent mieux choisir les bons outils et accélérer le processus de développement d'applications.