RE:Como programar un chat
para programar un chat en java necesitas de las clases serversocket y socket que se encuentran en el paquete java.net,estas dos clases te permiten establecer una conecion por medio de un puerto.
debes de programar el lado del servidor teniendo en cuenta que sera este el que distribuya los mensajes de los clientes, el esquema es sencillo, pones a andar tu servidor java(una aplicacion o applet) y lo pones en espera de que se conecte uno o varios clientes,el cliente solicitara una conexion y si el servidor lo acepta lo empezara a atender, asi sucesivamente con los demas clientes, cuando un cliewnte mande un mensaje el servidor tomara este mensaje y lo encviara a los demas clientes conectados por medio del socket que se crea al momento de que aceptas la conexion, es muy importante que guardes un vector de referencia de los sockets creados ya que de no ser asi no podras mandar mensajes a los clientes, recuerda que es el socket ligado a un puerto el que te permite mantener la conexion con los clientes...
att: Ing. Jorge Carvajal