lunes, 28 de diciembre de 2009

CHAT




















Chat login:


Nickname



Password (optional)


op controls


powered by chatsters



miércoles, 16 de diciembre de 2009

Descripción de la aplicación

En este proyecto se va a desarrollar una aplicación distribuida con arquitectura cliente/servidor. La aplicación distribuida es un Chat que permite a los cleintes darse de alta y de baja en el Chat, enviar mensajes a todos los clientes en linea.

El código del cliente se programará en la clase: ClienteChat (ClienteChat.java)y el código del servidor en las clases ServidorChat (ServidorChat.java) y Cliente (Cliente.java)

QUE ES UN CHAT (IRC)

En Internet, la gran "mediateca" global, se puede hacer casi de todo y uno de los servicios que ofrece Internet es el IRC (Internet Relay Chat). A través del IRC, se puede charlar con otros usuarios que en ese momento también estén conectados a la red, no importa en qué parte del mundo. Además se nos ofrece la posibilidad de entablar conversación con cientos o miles de usuarios simultáneamente.

En realidad, el IRC está basado en el TALK, un programa para Unix que permite la conexión con un ordenador remoto para mantener una charla interactiva con su operador, de manera que todo lo que se escribe a través del teclado lo recibe la otra persona en su monitor y viceversa. El IRC es pues algo parecido, aunque mucho más evolucionado.

HISTORIA DE LOS CHAT´S

Los inicios del IRC se remontan a 1988, cuando un finlandés llamado Jarkko Oikarinen5 escribió el código original. Fue por tanto en Finlandia donde se comenzó a usar esta tecnología, aunque en ese momento todavía no estaba en Internet, sino que J. Oikarinen la diseñó para usarla en su propia BBS6 como un sistema multichat en tiempo real.

Cuando comenzó a usar Internet como medio, el sistema comenzó a popularizarse rápidamente y pasó a convertirse en una herramienta de comunicación casi indispensable para todos aquellos que necesitaban comunicarse de una manera más directa que con el correo electrónico.

Hay dos fechas clave que marcaron el impulso definitivo del IRC. La primera es 1991, con el estallido de La Guerra del Golfo; el uso de este sistema de comunicación que plasmaba la realidad segundo a segundo comenzó a tomarse en serio. Fue en este momento cuando comenzaron a florecer los programas de IRC.

La otra fecha es Septiembre de 1993, cuando gran número de usuarios (en tiempo real) informaban desde Moscú de la inestabilidad social y política por la que estaba pasando el país.

Actualmente, los canales de conversación del IRC abarcan todos los temas imaginables, pudiendo encontrar canales en los que se habla de los temas más simples, hasta canales en donde los temas de conversación son absolutamente serios y de gran acervo cultural.

Actualmente, las redes más grandes de servidores de IRC son: Efnet7, DALnet8, UnderNet9, NewNet10 y GalaxyNet11

ELEMENTOS DE UN CHAT

Dentro de los elementos que encontramos dentro de un Chat para que se pueda llevar a cabo la comunicación, están los siguientes

Usuarios. Serán las personas que harán uso del Chat.

Canales. Donde los usuarios podrán entrar y salir, aunque en algunas se deban cumplir ciertos requisitos.

Chat Room Salas de Charla. Donde todos los usuarios "hablan" entre ellos

OPERS. Donde el/los usuario/s solicitan canales o cualquier tipo de información.

ADM (Administradores). Estos son los que marcan las pautas y normas a seguir para el buen funcionamiento del Chat y la conducta de los usuarios.

IrCOP. Serán las personas que se dedican al mantenimiento del Chat

OPER. Son las personas que ante las necesidades de los usuarios, les ayudan o suministran cualquier tipo de información respecto, comunicaciones entre canales, entre usuarios, reservas de canales privados, etc.

CARACTERÍSTICAS DE LOS CHAT´S

La tecnología de la CMC hace posible que un grupo de personas distantes físicamente, sin la posibilidad de verse el uno al otro puedan comunicarse de manera sincrónica, al igual que en los encuentros cara a cara, usando la palabra escrita. En esta forma de comunicación se combinan la permanencia de la palabra escrita y la fluidez del intercambio propia de las conversaciones presénciales.

Dentro de las características principales podemos menciona:

Abierto las 24 horas del día todos los días. Internet y la totalidad de sus aplicaciones están disponibles las 24 horas del día todos los días. Sólo un par de clicks separan a la persona del acceso al mundo virtual si cuenta con el software12 y el hardware13 necesarios. Una vez ingresado (conectado) a la red, siempre habrá personas esperando alguien con quien conversar. Puede plantearse la posibilidad de que la persona frecuente un mismo chat room y que en éste, a las 7 de la mañana, no haya usuarios. Este pequeño problema se soluciona fácilmente: se puede entrar a otros canales de otros países (por ejemplo, al de España, que remite a un lugar del mundo donde son las 11 de la mañana y probablemente haya mas usuarios en línea).

Control sobre la presentación de uno mismo y sobre lo que los otros ven del sí mismo. En IRC, el anonimato, facilita la creación de un personaje. Las máscaras esconden a la persona y permiten jugar un personaje cuyas características son fácilmente configuradas por la propia persona.

Control sobre la relación. Los programas de IRC ofrecen la posibilidad de elegir con quien hablar y con quien no. Es decir, que si al sujeto no le interesa comunicarse con una determinada persona, con sólo tipear un comando (/ignore) seguido por, por ejemplo, el nickname de ésta, logra su objetivo. }

TIPOS DE CHAT

Los hay de todo tipo, desde el que solo admite texto sobre un fondo liso (la versión primera del MIRC, hasta el que combina también voz e imagen junto con la posibilidad de compartir archivos, dibujar en una misma pizarra, etc. Poco a poco, los chat´s se están quedando anticuados y en muy poco tiempo nos encontraremos con chats en 3D (ya existen algunos) acompañados de videoconferencia.

Como ejemplo podemos citar los chat´s mas usados en la comunidad latina a: Latinchat, Starmedia, Yahoo, Microsoft Chat, Esmas, etc.

CLASES ÚTILES EN COMUNICACIONES

Socket

Es el objeto básico en toda comunicación a través de Internet, bajo el protocolo TCP. Esta clase proporciona métodos para la entrada/salida a través de streams que hacen la lectura y escritura a través de sockets muy sencilla.

ServerSocket

Es un objeto utilizado en las aplicaciones servidor para escuchar las peticiones que realicen los clientes conectados a ese servidor. Este objeto no realiza el servicio, sino que crea un objeto Socket en función del cliente para realizar toda la comunicación a través de él.

DatagramSocket

La clase de sockets datagrama puede ser utilizada para implementar datagramas o fiables (sockets UDP), no ordenados. Aunque la comunicación por estos sockets es muy rápida porque no hay que perder tiempo estableciendo la conexión entre cliente y servidor.

DatagramPacket

Clase que representa un paquete datagrama conteniendo información de paquete, longitud de paquete, direcciones Internet y números de puerto.

MulticastSocket

Clase utilizada para crear una versión multicast de las clase socket datagrama. Múltiples clientes/servidores pueden transmitir a un grupo multicast (un grupo de direcciones IP compartiendo el mismo número de puerto).

NetworkServer

Una clase creada para implementar métodos y variables utilizadas en la creación de un servidor TCP/IP.

NetworkClient

Una clase creada para implementar métodos y variables utilizadas en la creación de un cliente TCP/IP.

SocketImpl

Es un Interfase que nos permite crearnos nuestro propio modelo de comunicación. Tendremos que implementar sus métodos cuando la usemos. Si vamos a desarrollar una aplicación con requerimientos especiales de comunicaciones, como pueden se la implementación de un cortafuegos (TCP es un protocolo no seguro), o acceder a equipos especiales (como un lector de código de barras o un GPS diferencial), necesitaremos nuestra propia clase Socket.

Introducción

"Comunicarse, para el hombre, es tan natural e imprescindible como respirar. Y durante las últimas décads del siglo veinte, las diversas formas de hacerlo han sufrido cambios tan profundos y vertiginosos que sus redes constituyen la nueva atmósfera del planeta. La comunicaión es, pues, un fenómeno en el que convergen todas las ciencias del hombre y los más increíbles avances técnicos"


Tema: Crear un chat con el lenguaje de programacion Java.


Obletivo: Dar a conocer la importancia del lenguaje Java en la elavoraciñon de los sitios de charla IRC, mejor conocido como CHAT, aprovechando todas las ventajas que ofrece esste lenguaje en la principal red de comunicación mundial: INTERNET


Autor: Carlos Santamaría
Angel López