Newsgroup: it.comp.lang.visual-basic
Titolo: Chat intranet multiclient

salve raga..
esiste un programmino chiamato RealPopUp che consente di chattare in
LAN.
vorrei realizzarne uno uguale perche devo includerlo nel mio progetto.
Ho trovato tanti esempi di come implementare il codice tramite WinSock
ma mi piacerebbe rifarmi al RealPopUp, nel senso vorrei:
-avere una lista dei Pc presenti in rete, e soprattutto sapere quelli
connessi con il mio prg e quelli no!
- poter mandare messaggi ai computer scrivendo solo i Nomi dei PC.
Avete da darmi una dritta, suggerimenti...
Grazie

Ciao e buon Natatle,
credo che per fare quello che chiedi , tu abbia bisogno di una macchina
con IP statico che funzioni da server...
Mi spiego meglio:
La comunicazione tramite Host(computer) a livello di
Applicazione(tramite programmi di messaggistica istantanea ecc..)
avviene tramite le socket.
La socket è una coppia <IP,PORTA>.
In una comunicazione tra 2 Host avrai 2socket, una di origine ed una di
destinazione.
Le porte le scegli te all'interno dell'applicazione VB e quindi sono
note ma come fa l'HOST Origine a conoscere l'IP destinazione????
Con una macchina server con IP statico puoi creare una struttura nella
quale tutti computer che utilizzano il programma di Chat, all'avvio
comunicano al server che sono in linea.
Il server si crea un DataBase in cui salva NomeCPU, IP...... e provvede
a inviare messaggi di aggiornamento ai Client.
In questo modo ogni Host puo sempre conoscere chi è in linea...
 Ciao

 ma come fa l'HOST Origine a conoscere l'IP destinazione????
Un loop sugli ip della rete?
In una intranet solitamente sono solo 256.
Ciao 

 In una intranet solitamente sono solo 256.
 lo pensavo anch'io. potrei ciclare per 255 volte tralasciando 1 e 0
e vedere chi risponde su quella porta e chi no!
ma per recuperare il nome del computer (non IP) dei PC presenti in rete?
API? semplice GET dal Registro di Win?
grazie 

 API? semplice GET dal Registro di Win?
Spulciando un attimo la classe Dns di .net sembra che venga usata la 
getnameinfo da ws2_32.dll.
Provate a cercare maggiori info su msdn.
Ciao 

 Provate a cercare maggiori info su msdn.
uhmm...
MSDN arrivooooo!!! :-)
ciao 

 essendo classe va bene anche per VB6?!
No, è che spesso guardo come fa il fw a fare certe cose, tanto per non 
inventare l'acqua calda o per capire come si comporta in certe situazioni.
Tu devi guardare la funzione che ho indicato.
Ciao

 In una intranet solitamente sono solo 256.
E' piuttosto scomoda una soluzione del genere.
-- 
Shin: A device for finding furniture in the dark. 
News 2002 [v 2.07] / StopDialer / PopDuster - 
http://www.socket2000.com
Akapulce portal: 
http://www.akapulce.net

 - poter mandare messaggi ai computer scrivendo solo i Nomi dei PC.
Questo non è un problema perchè il nome del pc viene risolto in lan 
con il suo IP, automaticamente.
-- 
Nobody has ever, ever, EVER learned all of WordPerfect.


E' piuttosto scomoda una soluzione del genere
avresti suggerimenti?
grazie 

 avresti suggerimenti?
Semplicemente ti connetti al nome del PC che vuoi contattare sulla 
porta prestabilita. Se il socket risponde vuol dire č acceso...
-- 
I haven't lost my mind; it's backed up on tape somewhere.


 E' piuttosto scomoda una soluzione del genere.
e perchč?
Se dev'essere una cosa casereccia chi se ne frega se non č il top della 
tecnica :)
Ciao 

 porta prestabilita. Se il socket risponde vuol dire è acceso...
Ah, ok, se hai già il nome allora sì.
Ciao