Hallo, ich versuche, Dateien zu übertragen. Ich habe einige Programme, die Dateien in Binärdateien konvertieren und sie über ein Netzwerk mit C++ übertragen. Ich habe mich gefragt, ob ich Dateien mit Javascripts und Websockets übertragen könnte? irgendwelche Beispiele, wie man mein C++ Programm in Javascript einbaut, würde geschätzt werden. Vielen Dank.Übertragung von Dateien mit Javascript über Websockets
Antwort
Javascript hat zwei neue binäre Typen: typisierte Arrays (arraybuffers) und Blobs (im Grunde Dateien).
WebSockets unterstützen das Senden und Empfangen von typisierten Arrays und Blobs.
Um Daten zwischen zwei Browsern mit WebSockets zu übertragen, benötigen Sie einen Server, mit dem beide Benutzer eine Verbindung herstellen können (die Browser-Unterstützung von WebSocket ist zu diesem Zeitpunkt nur Client).
Wenn Sie einen vorhandenen Server in C++ haben, der den Dateitransport unterstützt, sollten Sie in der Lage sein, den WebSocket Server-Support relativ einfach hinzuzufügen. Sie können WebSocket Client- und Server-Implementierungen auf dieser Seite finden: http://en.wikipedia.org/wiki/Comparison_of_WebSocket_implementations
In JavaScript eine Verbindung zu einem WebSocket Server wie folgt Sie etwas tun, um festzustellen:
ws = new WebSocket("ws://100.101.102.103");
Die Methode send() Unterstützung normale Strings, getippt Arrays oder Blobs. Das Senden von typisierten Arrays und Blobs führt dazu, dass die Frames vom Server als binäre Frames empfangen werden (Opcode = 2).
ws.send(myTypedArray);
Nachrichten empfangen Sie eine Nachricht Handler registrieren:
ws.onmessage = function (evt) {
console.log("Got ws message: " + evt.data);
};
Wenn der Server der onmessage Daten Eigenschaft des Ereignisses eine Binärrahmens/Nachricht sendet dann entweder eine typisierte Array oder Blob enthält je nach die Einstellung des Attributs binaryType. Sie können den Typ der Binärdaten ändern, die so empfangen werden:
ws.binaryType = "blob"; // or "arraybuffer"
Was Sie versuchen, ist nicht möglich. WebSocket kann nur in einem Client-Modus betrieben werden; Es kann keine Verbindungen von einem anderen WebSocket-Client (z. B. einem anderen Browser) annehmen.
Es ist möglich, WebSocket Kunden miteinander über einen Server zu anschließen, aber es ist nicht mehr wirklich Peer-to-Peer an diesem Punkt, also bin ich nicht sicher, ob das nicht mehr wirklich nützlich oder interessant.
Danke, wenn Sie Beispiele dafür geben können, wie man es über einen Server macht, würde es geschätzt werden. =) – DasBoot
- 1. Übertragung von Dateien mit Cron?
- 2. Übertragung von Dateien von Android auf Computer über USB programmgesteuert
- 3. Abonnements über Websockets in Orion
- 4. Senden von Nachrichten mit Websockets
- 5. korrumpierende XML-Datei über die Übertragung ftp
- 6. Übertragung von 0 Dateien mit der Veröffentlichung über SSH-Plugin in Jenkins
- 7. Übertragung Wörterbuch über Post-Anfrage
- 8. WebSockets über HTTPS 403 Forbidden
- 9. Übertragung von großen Dateien: Kombination von Streaming-Übertragung und Content-Länge
- 10. websocket für die binäre Übertragung von Daten und Decodierung
- 11. STOMP vs WAMP über Spring-WebSockets
- 12. Plupload Übertragung mit Absenden Button
- 13. Übertragung einer Datei über ein Netzwerk mit TCP (Beschleunigung der Übertragung)
- 14. HTML5/websockets/JavaScript-basierte Echtzeit-Logfile Viewer?
- 15. systemd-nspawn die Übertragung von Dateien auf Container centos
- 16. Asynchrone Ereignisausführung mit Websockets
- 17. Senden eines Javascript-Objekt durch WebSockets mit Faye
- 18. FTP-Bestätigung Übertragung abgeschlossen
- 19. Remote-JavaScript-Dateien über die Adressleiste laden
- 20. Prevent Übertragung von Session
- 21. Express.js mit Websockets
- 22. Erlang und websockets
- 23. Datei-Upload über WebSockets zu Play Framework 2.0
- 24. JavaScript WebSockets funktioniert nicht auf Mobilgeräten?
- 25. Sails.js mit nativen WebSockets
- 26. Synchron-Anfrage mit Websockets
- 27. Laden von .html und .js mit Websockets
- 28. Funktionieren Azure Service Bus Notification Hubs mit Websockets und JavaScript?
- 29. Unterstützt boost :: asio Websockets?
- 30. Rails mit Websockets mit Nginx und Unicorn?
Ich bin auch interessiert, wenn dies möglich ist. – DasBoot