Um zu verdeutlichen, wenn ich nach der Kommunikation von Browser zu Browser frage, meine ich, dass zwischen den Weiterleitungsnachrichten kein Server vorhanden ist. Ich möchte so etwas für ein Spiel implementieren. Wenn p2p in Websockets nicht möglich ist, gibt es ähnliche Alternativen? Jede Hilfe wird geschätzt.
javascript
ajax
websocket
p2p
Xavier
quelle
quelle
Antworten:
Nein. Browser können nur WebSockets-Verbindungen initiieren, nicht empfangen. Die W3C-Browser-API-Spezifikation definiert nur, wie eine ausgehende Verbindung gestartet wird.
Sie können eine Anwendung erstellen, die WebSockets-Verbindungen sowohl initiiert als auch akzeptiert, Browser dies jedoch nicht.
Möglicherweise sehen Sie sich die Pusher-App an, mit der Sie eine WebSockets-Anwendung mit mehreren Clients erstellen können. Der Dienst bietet bis zu 20 gleichzeitige WebSockets-Clients kostenlos an (Sie können für eine höhere Skalierung bezahlen).
Update :
Das WebRTC- Protokoll und die API machen schnelle Fortschritte und ermöglichen die Einrichtung eines Datenkanals zwischen zwei Peers (möglicherweise benötigen Sie noch einen STUN / TURN-Server für die anfängliche NAT-Durchquerung und Einrichtung).
quelle
Theoretisch ist es mit WebRTC DataChannel möglich :
"Theoretisch", da es noch nicht von einem stabilen Browser unterstützt wird und Sie weiterhin einen Relay-Server (TURN) benötigen, wenn sich einer der Browser hinter einem symmetrischen NAT befindet . Trotzdem ist es ein wirklich vielversprechendes Feature.
Update: Chrome 26 und Firefox 22 unterstützen standardmäßig RTCDataChannel und Firefox 19-21, wenn Sie WebRTC aktivieren, indem Sie
media.peerconnection.enabled
true festlegen (about: config).quelle
Ich habe über Websocket und Peer 2 Peer gelesen und PeerJS gefunden .
Ich habe zwar noch nichts gemacht, aber anhand der Beispiele sieht es vielversprechend aus.
quelle
Heutzutage ist es möglich, derzeit unterstützen es nur Chrome, FF und Opera (Desktop).
Momentan tauchen im Internet einige Bibliotheken auf, wie PeerJS und js-platform-p2p, was die Dinge ziemlich vereinfacht.
quelle
Eine einfache und zuverlässige browserübergreifende Methode ist die Verwendung von http://httprelay.io mit AJAX-Aufrufen. Es implementiert auch eine bis viele Kommunikation, was für die Spieleentwicklung nützlich sein könnte.
quelle