Il modo migliore per creare un sistema di chat PHP

0

Sto creando un sistema di chat web basato su php. Circa 1000 utenti simultanei in tutto il mondo lo useranno, quindi quale sarebbe la migliore tecnologia da implementare?

Come ho fatto qualche ricerca online, principalmente ho trovato sistemi usando ajax e jquery per chattare mentre ci sono alcuni che usano socket web. Non sono sicuro di quale funzionerebbe al meglio per soddisfare le mie esigenze. Preferisco un sistema di chat in tempo reale. Se dovessi usare Ajax, sarà in tempo reale e man mano che l'utente aumenterà, ci sarà qualche conflitto?

Inoltre, se utilizzo una presa web HTML5, dato che gli utenti stanno per chattare da varie nazioni in tutto il mondo, sarebbe più veloce? Permettetemi di darvi uno scenario .. Se utilizzo il metodo push HTML5 che è ospitato in alcuni server nel Regno Unito, diciamo, e gli utenti di paesi come l'India, l'Africa e la Cina, dovranno affrontare eventuali tempi di inattività / ritardo nell'invio e nel recupero dei messaggi ?

Grazie per il tuo tempo e spiegazione dettagliata in anticipo!

    
posta 112233 05.06.2016 - 14:06
fonte

2 risposte

2

Ajax ha una migliore compatibilità, ma i socket web sono più efficienti e più semplici (dato che non dovrai affrontare problemi legati al polling lungo, che a volte può essere una seccatura). Oggigiorno, relativamente pochi browser supportano ajax ma non socket web, quindi il mio suggerimento sarebbe di farlo in quel modo, semplicemente per semplicità.

Si noti che l'efficienza non è probabilmente la vostra preoccupazione principale qui; 1000 utenti simultanei non sono molti (ho visto che molti usano un sistema di chat con un singolo server più di 20 anni fa, ora - il server che lo eseguiva era probabilmente meno di un decimo più potente del mio telefono). Rendi il tuo ementation semplice e pronto ad evolversi quando le tue esigenze cambiano, è la cosa fondamentale.

Tuttavia, mi raccomando di non farlo in php se hai la possibilità. Questa è un'applicazione molto concorrente, e l'ultima volta che ho controllato (certamente diversi anni fa) il supporto di php per la concorrenza era piuttosto carente. Se preferisci le lingue dinamiche come php, forse prova Python o Ruby per questo progetto.

    
risposta data 05.06.2016 - 14:58
fonte
1

Php va bene per il tuo progetto, anche se ci sono alternative migliori (ciao NodeJS).

Ajax non sarà in tempo reale. Dovrai effettuare manualmente le richieste (anche se sono fatte ogni X secondi) per recuperare nuovi dati. Non ci saranno conflitti, ma potrebbe esserci un problema di prestazioni per te e il tuo utente.

I socket sono più interessanti per il tuo progetto perché aggiorneranno l'interfaccia quando ci sono nuovi dati.

Il link è la classe PHP più diffusa per i socket Web.

    
risposta data 05.06.2016 - 19:15
fonte

Leggi altre domande sui tag