Originariamente inviato da ty7
Grazie mille, però quello che mi servirebbe non è l'applet ma la classe Chat. Devo scriverne il codice completo (classi CLIENT e SERVER) per un esame all'università...
tempo fa avevo scritto una chat in java per scopi didattici, ma ora non la trovo

in ogni caso ti posso spiegare la struttura del programma.

Ovviamente il tutto si divide in due applicativi principali:
client (la chat vera e propria con interfaccia grafica) e server (semplice programma anche da linea di comando)

la chat:
La chat comunica con il server tramite una socket seguendo un protocollo prestabilito, se non vuoi usare dei protocolli preesistenti come irc, ti consiglio di inventartene uno di base per indicare i vari comandi. La chat quindi dovrà interpretare i vari comandi che gli arriveranno dal server e inviarne degli altri.

Il server è un applicativo che smista i comandi provenienti dai vari client. Può eseguire anche delle operazioni ma in generale si limita a spedire i comandi che gli arrivano da un client, verso tutti gli altri client. A tal scopo si possono scegliere due approcci diversi: il primo è creare un array di Socket, ed ad ogni comando scorrere tutto l'array inoltrando il comando stesso verso tutti i client connessi. Un'altro è creare un thread separato per ogni connessione, io ho usato questo xke dovevo usare anche il multithreading (scopi didattici) ma forse la soluzione più efficiente è la prima.

Se ti servono altre informazioni chiedi pure. Durante lo sviluppo di questa applicazione un assistente prezioso è stato telnet o meglio l'hyper terminal di windows