- Eine Bibliothek, mit der sich mit nur wenigen Zeilen Code Multiplayer-Web-Apps umsetzen lassen, die ohne Server direkt miteinander verbunden sind
- Basiert auf WebRTC im Browser und nutzt öffentliche Netzwerke als Signaling-Kanal, um P2P-Matching und Kommunikation automatisch zu orchestrieren
- Wähle eines von BitTorrent, Nostr, MQTT, IPFS, Supabase, Firebase, um Peer Discovery ohne Server durchzuführen
- App-Daten nach dem Signaling werden ohne Zwischeninstanz direkt per P2P + E2E-Verschlüsselung übertragen
- Bietet High-Level-Abstraktionen wie Rooms/Broadcasting, automatische Serialisierung, Chunking/Throttling für große Datenmengen, Fortschritts-Events, Verschlüsselung von Sitzungsdaten und Stream-Metadaten
- Läuft nicht nur im Browser, sondern auch unter Node/Deno/Bun und unterstützt praxisnahe Funktionen wie TURN-Server-Konfiguration, React Hooks und serverseitige Ausführung
- Der konfigurationsfreie Einsatz öffentlicher Infrastruktur macht es besonders geeignet für verschiedenste Experimente und schnelles Prototyping
8 Kommentare
Wird der TURN-Server von den Ahnen bereitgestellt?
'stun:stun.cloudflare.com:3478'ist offenbar fest im Quellcode hinterlegt.Nicht STUN, sondern TURN.
STUN teilt dir nach dem reinen STUN-Prinzip im Grunde nur mit, wer du bist, deshalb gibt es einige öffentliche Server.
TURN muss den Traffic weiterleiten, daher (weil teuer) muss man entweder dafür bezahlen oder es selbst aufsetzen.
Beispiel: https://github.com/coturn/coturn
So ein Kandidat also.
Es gibt zwar viele Fälle, in denen Kommunikation allein mit STUN möglich ist, aber einfach zu sagen, dass es "funktioniert", ist irgendwie.....
Es funktio...niert schon..... aber hm.. so fühlt es sich an.
Wenn es um p2p-Matching geht, braucht man dann kein TURN, oder?
Ich denke, das hängt davon ab, was mit „p2p-Matching“ bei WebRTC gemeint ist.
Bei Fall 1 ist, wie Sie sagen, kein TURN nötig.
Auch bei Fall 2 ist kein TURN nötig, wenn die Umstände günstig sind und die gegenseitige UDP-Kommunikation erfolgreich ist.
In Fall 2 wird TURN benötigt, wenn die gegenseitige Paketkommunikation über UDP fehlschlägt.
Gründe für ein Fehlschlagen sind zum Beispiel:
In solchen Fällen muss TURN verwendet werden.
(Dass IPv4-only <-> IPv6-only nicht funktioniert, habe ich gerade zum ersten Mal beim Überprüfen meiner Erinnerung erfahren.)
Ja, also Nummer 2. Es heißt zwar „ohne Server miteinander verbunden“ und „Bibliothek“, aber erwarten Sie da nicht vielleicht etwas zu viel ...
Auf welchen Teil möchten Sie hinaus?
-> Falls es darum geht, ist mein Wissen wohl veraltet. Ich wäre Ihnen dankbar, wenn Sie mir mitteilen könnten, was sich seit den Inhalten, die ich kannte (und geteilt hatte), geändert hat~!
-> Was skageektp gesagt hat, stimmt. Da es eine Bibliothek ist, kann man in dem Maß vielleicht darüber hinwegsehen. Ich war da zu empfindlich.
Ich meinte
3. Um es richtig zu nutzen, reicht STUN allein nicht aus, und TURN ist nötig, aber die Übertreibung ist schon heftig~
auszudrücken.
Ich korrigiere die Erläuterungen zu Punkt 1 und 2 wie folgt.
So möchte ich das berichtigen. Im Originalbeitrag besteht sonst die Möglichkeit eines Missverständnisses.