Ich studiere Websocket und habe ein Chatprogramm mit websocket / json gemacht. Aber ich stecke beim Hochladen von ATM fest. Jeder Rat & amp; Antwort wäre dankbar.
Serverseite:
%Vor%Kunde:
%Vor%Server Seite geschlossen Grund Nachricht ist wie folgt
Socket geschlossen: Die dekodierte Textnachricht war zu groß für den Ausgabepuffer und der Endpunkt unterstützt keine Teilnachrichten
Q1: Es scheint, dass es Textverarbeitungsmethode statt der binären Verarbeitungsmethode nach dem geschlossenen Grund findet, wie kann ich das beheben?
F2: Sollte ich den Dateityp in Blob ändern, um die Datei auf Javascript-Seite zu übertragen? Wie dann?
extra F: Darf jemand Beispielquelle (n) der Websocket-Dateiübertragung (Java-Websocket oder Javascript beides / beide) verlinken?
Danke fürs Lesen:)
Nach einigen Recherchen und Versuchen habe ich herausgefunden, dass 'reader.readAsBinaryString (file);' war eine Ursache für Frage 1. Ändern Sie es in 'reader.readAsArrayBuffer (Datei);' Mein erstes Problem wurde gelöst.
Da websocket automatisch eine Datei als mehrere Teildaten überträgt, habe ich die Quelle wie folgt geändert. Das funktioniert! nur, wenn die Dateigröße nicht so groß ist. : /
Geänderte serverseitige Quelle:
%Vor%Browser (Client) Seite:
%Vor%Ich kann immer noch nicht herausfinden, wie größere Dateien übertragen werden . (Ich vermute Auto-Timeout und / oder Puffergröße). Irgendwelche Beratung plz?
In meinem Fall funktioniert es, um große Dateien hochzuladen, ohne dass ein Browser abstürzt oder der Socket geschlossen wird.
Bitte folgen Sie den folgenden Schritten, um es zu bearbeiten.
Sie können durch diesen Artikel gelangen eine Idee über den kompletten Arbeitsablauf, seine Arbeit mit Websocket.
Tags und Links javascript java websocket blob