PDA

View Full Version : [VB] Chat


Kesslers
09-03-2010, 10:33
Ciao a tutti,
ho scritto un programmino di chat in VB, composto da un client e da un server. Per ora solo due utenti per volta possono comunicare tra loro. Volevo ora ampliarlo un po' e renderlo capace di gestire più utenti contemporaneamente ed in modo che tutti vedano tutti (come di fatto accade con msn).
Ehm..avete qualche idea? Io non riesco a trovare una soluzione decente.
Quando poi funzionerà, lo tradurrò in c++..
Grazie!!
Buona giornata.

bobbytre
09-03-2010, 14:35
secondo me

potresti fare in modo che tutti i client si colleghino allo stesso server, tutti i messaggi che ogni client invia al server vengono inseriti in un unico database , nello stesso ordine in cui arrivano.

poi ogni client ogni tot secondi , invia la richiesta al server di visualizzare tutti i messaggi presenti del db dall'ultima ricezione in poi.

nuovoUtente86
09-03-2010, 14:39
Presumo tu voglia gestire sia le stenze pubbliche che i PM fra utenti. In definitiva si tratta di gestire una mappa di utenti e i relativi socket associati alle conversazioni.

nuovoUtente86
09-03-2010, 14:41
secondo me

potresti fare in modo che tutti i client si colleghino allo stesso server, tutti i messaggi che ogni client invia al server vengono inseriti in un unico database , nello stesso ordine in cui arrivano.

poi ogni client ogni tot secondi , invia la richiesta al server di visualizzare tutti i messaggi presenti del db dall'ultima ricezione in poi.

molto meglio utilizzare un push multicast rispetto al gestire il polling.

Kesslers
09-03-2010, 18:04
Ok...chiedo venia...il push multicasting..come lo realizzo?
Grassie!

nuovoUtente86
09-03-2010, 20:52
per quanto riguarda le stanze pubbliche, crei un subject presso cui si registrano gli utenti afferenti alla stanza. I messaggi, eventualmente accodati, vengono pushati al gruppo di utenti che li visualizzano sul proprio client.
Ovviamente per i messaggi privati, il rapporto passa da 1(server) a molti (gli utenti) ad 1-1.