Salve,
vorrei realizzare un sito di chat. Varie stanze con una chat per ogni stanza.

Pensavo di utilizzare una soluzione javascript con routine ajax per inviare/ricevere i messaggi.
La routine di ricezione invierebbe una richiesta ajax per recuperare i nuovi messaggi, si metterebbe in sleep per qualche secondo e quindi ri-eseguirebbe la routine ciclicamente.
Con una soluzione di questo tipo quindi il client sarebbe sempre in polling verso il server.

Dato che le richieste sono in ajax, il webserver come gestirebbe la comunicazione?
1) Ogni richiesta apre e chiude un canale di comunicazione, tenendo il server sempre libero (a discapito di una maggiore richiesta di risorse per aprire/chiudere la trasmissione)?
2) Dato che le richieste si succedono nell'intervallo di pochi secondi l'una dall'altra il server manterebbe il canale di comunicazione sempre aperto (portando a saturare le porte libere)?

Inoltre una soluzione del genere quanto puó scalare?
É corretto il seguente ragionamento?
Se considero 50 stanze con 10 persone in ogni stanza, avrei 500 possibili canali di comunicazione aperti.
Se abbiamo 65k porte a disposizione e le prime 1024 sono riservate, avrei la possibilitį di gestire comunque 64k comunicazioni.

Avete idea se altre possibili soluzioni si gestiscono meglio? Non so per esempio webrtc o un server con node.js?