Creare un sistema di messaggistica stile MSN - Come?

mercoledì 27 dicembre 2006 - 08.42

fc3186 Profilo | Newbie

Salve a tutti!
per una mia cultura personale vorrei realizzare un sistema di messaggistica immediata, stile MSN, personalizzato da poter utilizzare in seguito per una mia comunità virtuale. Volevo sapere da voi se esistono degli strumenti in VB NET che possano fare al caso mio.

In passato realizzai una rudimentale chat in php e javaScript, facendo prendere i dati da una tabella SQL e aggiornando la pagina ogni mezzo secondo ... volendo potrei riutilizzare la stessa tecnica nei WinForm ma sono sicuro che qualcuno di voi sa darmi una dritta migliore! Aspetto notizie :D

freeteo Profilo | Guru

ciao,
l'argomento è abbastanza vasto perche' potresti scegliere varie soluzioni tra cui Remoting e Webservice.Oppure decidere di affidarti a componenti di 3e parti, e per quelli ti basta cercare su internet, qualche soluzione gia' fatta la trovi.

Pero' io ti consiglierei la strada dei webservice, io in passato ho fatto qualcosa di simile e moi sono trovato bene.La struttura è a grandi linee questa:
- crei un servizio web che è il cuore della chat, il quale :
--- valida l'utente e si segna che utente è online
--- gestisce le chat quindi se ne apri una nuova ti da un ID univoco, e si segna i partecipanti etc...
--- ti tiene i messaggi veri e propri e si segna quando qualcuno l'ha letto etc..

a questo punto il client è molto leggero inquanto non fa altro che ogni tot secondi (componente timer) chiedere al webservice (referenziato nel progetto ma in fase di deploy cambiato da web.config) se ci sono messaggi per lui

Poi via via va a sofisticare il tutto mettndo messaggi privati, colori e font etc...pero' il flusso è piu' o meno questo.
Io con questa soluzione mi sono trovato bene e ci ho messo poco a sviluppare, percui se puoi disporre di un server web (anche un hosting tipo aruba) dove parcheggiare il webservice non dovresti trovarti male...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

fc3186 Profilo | Newbie

l'idea del web service l'ho sviluppata anche io (semprein PHP :D) tempo fa realizzando un GDR-online chat style ... volevo però realizzare un programmino che si installa e che tiene traccia degli utenti online ... senza però dare la possibilità di aggiungerne di nuovi ... ovvero prende gli utenti direttamente dal mio DB e ne visualizza lo stato. a questo punto, considerando che l'idea del web-service è molto piu diretta e facile da realizzare ... ti faccio una domanda:

è possibile realizzare qualcosa del genere in un win form? Ovvero, è possibile creare un'applicazione windows che gestisca questo web-service? la risposta potrei darmela da solo ... in quanto si potrebbe realizzare una sorta di browser web che punti al mio web-service.... ma è possibile limitare l'uso di questa sorta di browser in modo da renderlo unicamente utilizzabile per il webservice?

Grazie dell'aiuto.

freeteo Profilo | Guru

ciao,
quello che ti ho scritto prima era proprio per dirti che il cuore di tutto lo fa un webservice, in modo da essere accessibile senza problemi da vari punti (se lo metti su internet poi problemi non ne hai).

Il client di questo webservice lo puoi tranquillamente fare in .net, windowsform melgio ancora, cosi' riesci ad avere un'interfaccia grafica piu' intelligente e soprattutto piu' prestazionale.
Quello che ti consigliavo era proprio di usare un ws per comodita di sviluppo e chiamate ai metodi della parte server

A questo punto pero' puoi decidere di fare a meno di un webservice e usare un programmino che ti faccia da server lui, interrogabile tramite comandi winsock (in .net trovi tutto quello che ti serve dentro al namespace System.Net) solo che la cosa si complica un pochettino.
Se vuoi fare ancora le cose piu' "eleganti" puoi usare .net remoting, ma si complica ancora di piu'...vedi te, se hai a disposizione un webserver con Internet information Server (IIS) fai sicuramente prima perche' nasce proprio per stare a servire delle ricerche, e a te basta solo creare un po di codice che gestisca tutta la struttura.

Per averlo non devi avere un server per forza, anche su win2000 o xp Pro trovi iis in:
[installazione applicazioni->installa componenti di windows].

Non sottovalutare il fatto che il "server" della tua chat, se è un programmino, deve essere in esecuzione nel pc, quindi con sessione utente aperta, a meno di fare un servizio...insomma pensaci bene perche' il ws a mio avviso rimane la cosa piu' "furba" da fare
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

fc3186 Profilo | Newbie

si credo che l'idea del ws sia semplice, intuitiva e immediata. poi con l'aggiunta di winforms il tutto diventa molto piu elegante ome dici giustamente tu ...

adesso però mi sorge un problema. Ricordo che son migrato or ora al Framework dal PHP, e posseggo un serve cn linux. Per ovvi motivi non posso cambiare OS per cui non ho a disposizione l'IIS.

Stavo pensando però se fosse possibile cmq realizzare qualcosa del genere basandosi tutto sul MySQL, ovvero:

sul mio server creo un DB per il mio WS che altro non è che l'insieme delle entità degli utenti messaggi emoticons e quant'altro.
Dopo di che in VS2005 creo un applicazione win, e mediante l'utilizzo di ADO NET 2.0 posso collegare il tutto al mio DB su MySQL e operare cn le tabelle dando vita al messaging system vero e proprio.

Secondo te è fattibile un discorso del genere?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5