Ist es möglich, UDP-socket.io?
Habe ich ein Spiel, für das ich arbeite, und ich habe gehört, dass UDP ist besser für die Echtzeit-Spiele. Ich weiß, dass socket.io nutzt TCP, und fragte sich, ob es eine Möglichkeit gibt um das Gerät zu UDP. Ich habe versucht, es fand aber nur Beiträge aus 2012 um, die sagte UDP ist nur experimentell im Browser.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom standard-browser, es ist nicht möglich.
Einem browser-client
socket.io
verwendet entweder diehttp
oder diewebSocket
transport. Beidehttp
undwebSocket
sind TCP-verbindungen, nicht für UDP-verbindungen. So dass der browser den client-socket.io nicht verwenden UDP - es verwendet TCP.Soweit ich weiß, gibt es keine standard-UDP-Unterstützung in Browsern zugänglich, die von regulären HTML-Seite Javascript, damit kann man gar nicht wirklich zu versuchen, bauen Sie Ihre eigenen Ebene, die UDP verwendet.
Anderen Verweise auf das Thema:
Warum Kann ich nicht Senden Sie UDP-Pakete Von einem Browser
Lesen vom udp-port im browser
Chrome Unterstützt TCP-und UDP-Sockets
Schreiben Sie eine chrome-Erweiterung zur Unterstützung von UDP-in-browser
Gewusst wie: senden einer UDP-Paket mit Web-RTC - Javascript?
Wie mit UDP-sockets mit HTML5?
Lesen vom udp-port im browser
UDP werden kann, eine wünschenswerte transport für einige Bedingungen, wenn Sie wollen das Paket geliefert werden so bald wie möglich, aber wenn es nicht sofort zugestellt werden, dann legen Sie es einfach. Dies ist manchmal nützlich, gaming oder auch video-streaming, wo das nächste Paket wird nur das nächste update also, wenn die Vorherige nicht durch kommen, dann keine große Sache, und Sie würde lieber nicht über TCP versuchen Sie erneut, das verlorene Paket. Aber Browser nicht unterstützen, verwenden das UDP-Protokoll von der web-Seite von Javascript.
Wenn Sie möchten, um eine Verbindung zu einem UDP-Gerät oder-server, vom browser, den Sie verwenden, eine Art proxy, damit Ihre browser-code reden kann der proxy über TCP (http oder webSocket) und dann den proxy umgehen kann die eigentliche Kommunikation über UDP mit dem Gerät.
Wäre es möglich, den socket zu verwenden.io-Bibliothek aus node.js oder einige andere nicht-browser-Plattform und schreiben Sie Ihre eigene UDP-transport-add-in für die Steckdose.io, das auf der nativen UDP-Unterstützung in Ihre Plattform. Ich glaube sockel.io hat eine etwas pluggable-transport, so dass Sie versuchen könnte, um Ihren eigenen transport zu und konfigurieren client-und-server zu verwenden, daß transport. Ist dies nicht möglich, aus dem browser, weil es keine zugrunde liegende UDP-Unterstützung in den browser, den Sie bauen konnte Ihren transport auf, aber in nicht-browser-Umgebungen wie node.js könnten Sie das.
Obwohl die Frage bereits beantwortet, ich möchte Sie darauf hinweisen, dass es Möglichkeiten gibt, die Umsetzung Buchse.io mit UDP. Zum Beispiel dgram macht genau das, was Sie suchen.
Dies ist ein tutorial für socket.io + UDP mit dgram.
UPDATE:
Alexandre Lacheze entwickelt node.js Paket bringt das UDP-Protokoll-browser. Es unterstützt auch sockel.io. Die Antwort ist also irgendwie überflüssig jetzt.
UPDATE 2:
Schalte es aus, es ist nur eine simulierte UDP. Nicht eine tatsächliche UDP-Protokoll läuft auf browser -.
SimUDP
simulierten UDP.Ist es wahrscheinlich eine gute Idee, verwenden Sie webRTC in diesem Fall wird UDP in der Natur.