6

Sto cercando una soluzione per inviare eventi dal mio server ai client che saranno utenti di Android, iOS e Desktop (web).Servizio di messaggistica in tempo reale per dispositivi mobili e desktop

Ho visto alcuni post su Parse, Amazon SNS e Google Cloud Messaging ma non menzionano le velocità e le applicazioni più comuni per loro o il confronto con un semplice flusso TCP o web socket?

ho bisogno di avere fino a 50 eventi/secondo bi-directona l throughput per cliente (¬1kb per evento) con max 150ms di latenza.

Quali sono gli svantaggi di usare solo un flusso TCP di eventi rispetto WebSockets contro SNS/Parse/GCM?

+0

Si potrebbe anche considerare il servizio basato su msg-bus come rabbitmq. –

+0

@RobertRowntree Mi chiedevo se qualcuno avesse esperienza con questi strumenti e potesse fornire pro/contro. –

+0

Hai una lingua preferita come: Java, PHP, js, rete ...? – Chriss

risposta

6

Notifiche Push (GCM e APN)

PRO: Si può raggiungere il dispositivo, anche se l'applicazione client non è in esecuzione.

CONS: basso rendimento; latenza elevata

raw TCP

PRO: alta produttività; bassa latenza; bidirezionale

CONS: Non passa attraverso proxy e firewall tipici; ha bisogno l'applicazione client per essere in esecuzione

WebSockets

PRO: Alta produttività; bassa latenza; bidirezionale; passa attraverso i firewall

CONS: Non tutti i proxy li supportano già; ha bisogno l'applicazione client per essere in esecuzione

In aggiunta, ci sono anche HTTP Streaming e HTTP polling lungo.

3

puoi provare un SignalR.

ASP.NET SignalR è una nuova libreria per gli sviluppatori ASP.NET che rende incredibilmente semplice per aggiungere funzionalità Web in tempo reale alle applicazioni

uno del mio collega hanno utilizzato questa libreria per il web, la finestra, android , mac, ecc. per la messaggistica in tempo reale.

2

qui potete trovare alcuni punti di riferimento: http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/

questa domanda più tecnica può aiutare voi o altri troppo: What is the fundamental difference between WebSockets and pure TCP?

Citazione dalla risposta accettata:

E 'più facile per comunicare via socket TCP quando stai lavorando all'interno di un confine intranet, dal momento che probabilmente hai il controllo sulle macchine su quella rete e puoi aprire le porte adatte a realizzare le connessioni TCP.

Su Internet, si sta comunicando con il server di qualcun altro dall'altra parte. È estremamente improbabile che qualsiasi socket vecchio sia aperto per le connessioni. Di solito avranno solo alcuni standard come porta 80 per HTTP o 443 per HTTPS. Quindi, per comunicare con il server, sei obbligato a connetterti usando una di quelle porte.

Problemi correlati