Sto lavorando a un'applicazione di messaggistica utilizzando Spring Websockets (STOMP come sottoprotocollo) e Sockjs.Invio di immagini/file su Sockjs + Spring Websocket + Stomp
Dovrei fornire supporto per inviare file nei messaggi.
In base a this ticket, sockjs non supporta i dati binari, ma lo fa STOMP.
So che possiamo convertire l'immagine in base64 e inviarlo su stomp, ma penso che questa non sia la migliore pratica in quanto vi è molta conversione e sovraccarico. Devo anche salvare i messaggi, quindi per salvare nuovamente questi file codificati Base64 sul server dovrò decodificarli.
Ho paio di domande:
1) Esiste una soluzione alternativa per inviare immagini/files sopra sockjs + Stomp o conversione in Base64 è l'unico modo?
2) Può essere una domanda molto sciocca ma in base a this question è possibile inviare dati binari su STOMP (senza sockjs). Quanto è difficile supportare la fallback senza sockjs?
Grazie.
EDIT: Se si utilizza base64 è l'unica opzione, avrei preferito fare una richiesta POST per salvare i messaggi che ha gli allegati invece di utilizzare la codifica Base64. Qualche idea che sia migliore?
l'implementazione di websocket semplice supporta i dati binari, ne sono a conoscenza. Ma sto specificatamente cercando di scoprire se c'è qualche trucco/inversione di tendenza per 'SockJS'. – Karthik
So che possiamo usare la codifica base64, ma stavo cercando delle alternative, perché questa applicazione ha messaggi molto frequenti con allegati. Quindi, usare base64 aumenta inutilmente le dimensioni. – Karthik
Ma lo streaming, o semplicemente codificare in una sola azione di stringa prima di inviare. In altre parole, è efficiente utilizzare WebSockets per questo scopo? – Marc