Pattern osservatore su HTTP e TCP / IP (Server-Client)

9

Ho un server e molti client (circa 50 client) che si connettono a quel server basato su un'applicazione web, che è ovviamente basata su protocollo HTTP, che a sua volta usa TCP / IP (correggimi se ho torto , perché non sono molto bravo in rete).

Il problema è che dovrei sviluppare un meccanismo di avviso in cui, quando qualcuno invia un modulo con valori pericolosi, il manager (che è anche connesso tramite la stessa applicazione web) dovrebbe ricevere un pop-up di avviso sul suo schermo , quasi in tempo reale (istantaneamente).

Tuttavia, poiché il protocollo HTTP è senza stato, sono un po 'perplesso qui. Non so come posso implementarlo.

Una delle soluzioni potrebbe essere l'utilizzo di JavaScript insieme alla funzione setInterval() per pull di dati ogni secondo dal server. Ma questo mi sembra un po 'sporco e poco professionale.

Ragazzi, avete qualche idea di implementare un'altra soluzione?

    
posta Saeed Neamati 12.09.2011 - 12:12
fonte

2 risposte

4

Dovresti usare una specie di ajax push (vedi Cometa ) per avvisare i clienti. Può eliminare la necessità di eseguire il polling, in pratica si mantiene aperta una connessione stabilita che può essere utilizzata per notificare al browser eventi di occorrenza. Tuttavia, questo non funziona con tutti i browser. In questi casi, torni a "polling lungo".

    
risposta data 12.09.2011 - 12:25
fonte
6

Penso che questo sia il tipo di motivo per cui sono stati creati WebSockets . Se non hai bisogno di compatibilità con i browser più vecchi potresti voler usare questo invece del polling. Probabilmente dovresti usare il polling come riserva in ogni caso.

Non sono sicuro di quanto siano stabili le specifiche / implementazioni in questi giorni (non era molto stabile non molto tempo fa). Sembra che le ultime specifiche siano implementate in Firefox 6 e Chromium 14.

    
risposta data 16.09.2011 - 13:24
fonte