Desidero scrivere un'applicazione lato server che consenta a diversi utenti di scambiare file (non oltre 3 MB) nel seguente modo: l'utente A si connette a (server) S. L'utente B si connette a S. Utente C collega S. Utente A invia un file. Gli utenti B e C "vedono" che un file era / è in fase di caricamento e inizia a scaricarlo.
La mia preoccupazione principale è la reattività. Voglio che il file arrivi a B e C non molto tempo dopo che A ha iniziato a caricare.
Ho pensato di farlo usando HTTP: l'utente A invia byte grezzi al server e il server salva il file localmente. A questo punto, gli utenti B e C vedono che è stato caricato un file e iniziano a scaricarlo.
La mia domanda: HTTP è il modo migliore per andare qui? O dovrei scrivere un'app che usa socket TCP e scrivere il mio protocollo? Se vado con le prese. Come posso stimare i requisiti di RAM del VPS in modo che possa consentire connessioni di trasferimento file N contemporaneamente?