PDA

Ver la versión completa : Messenger



VBProgramer
22-07-2007, 15:26
Ola, estoy intentando hacer un msn pero lo que es el codigo, no encuentro ninguno,alguien me podria facilitar un codigo :)

Me explico es un cliente nuevo parecido a msn esteticamente pero con mi PC de servidor

Por favor estoy muy interesado, cuando lo termine os dare a todos una copia.


Espero que me puedan ayudar

hystd
23-07-2007, 18:20
Hola buenas! No entiendo bien tu propósito, que quieres hacer exactamente? un cliente para mensajería instantánea, un servidor, o ambos?

Si lo que quieres hacer es partiendo desde 0 (montando tu propio servidor y cliente) es un proyecto de gran envergadura... y podría implementarse de muchas maneras. Tal vez deberías centrar una duda en particular ya que esto es digno de un proyecto de fin de carrera :). Estás preguntando por un problema de analistas. jejeje

No obstante podría orientarte para su realización y decirte que cualquier aplicación cliente-servidor funciona igual... El servidor corriendo en un sistema (a la espera de recepción de datos del cliente) escuchando en un puerto específico. Para establecer conexiones usa los Sockets, basándote en protocolos ya existentes (TCP). Cuando el cliente solicita una conexión a este servidor, lo primero es realizar login, para ello se comprueba que el usuario existe dentro de la base de datos (incluso si es para uso a pequeña escala, podrías usar conjuntos "Set", que evita usuarios repetidos... no es posible dos usuarios con el mismo nombre) y posteriormente comprobar la clave (también es viable usar Maps)... es posible hacerlo de muchas maneras de ahí por qué te digo que preguntes por una duda en particular :)

Para enfocar este proyecto, primero has de saber las interfaces y clases que vas a necesitar, por ejemplo para el cliente, una clase "usuario", cuyos atributos son "nombre", "nick", "direccion correo", "estado (conectado, ausente, etc...), "imagen asociada", etc..., e implementar cada uno de los metodos de su interfaz, por ejemplo "cambiar_estado()", "cambiar_nick()", "cambiar_imagen()", etc..., Otra clase por ejemplo sería "ListaUsuariosAsociados" que contendría cada uno de los usuarios asociados a esa cuenta, etc...

Una vez realizado el login, el servidor obtiene la lista asociada a esa cuenta, y a través del cliente la muestra en la aplicación.

Para realizar el intercambio de mensajes entre usuarios podrías implementar una cola de mensajes en el servidor (Para ello implementas una clase "Mensaje" cuyos atributos podrían ser "Origen", "Destinatario" y "contenido"). De manera que los mensajes cuando van llegando al servidor, van siendo procesados en el orden en el que van llegando (primero en entrar, primero en salir "FIFO").

Crea las estructuras de datos necesarias, piensa en la eficiencia y en la seguridad.

Vuelvo a decirte que esto es trabajo de un analista y el proyecto que quieres hacer no es trivial, y menos para resolverlo en un foro :p

Un saludo

VBProgramer
23-07-2007, 19:47
Lo que me referia exactamente es lo que tu me has explicado, hay un pos donde un usuario consiguio hacer mi proposito:

http://www.hackhispano.com/foro/showthread.php?t=7612

Muchas gracias por tu respuesta hystd.

McLik
24-07-2007, 00:04
bueno solo te digo algo para hacer esto tenes que tener manejo de BD que supongo que tenes no?:rolleyes: .Osea no se si me explico :)

Saludos y suerte

VBProgramer
29-07-2007, 10:44
Si tengo manejo de BD

Malenko
30-07-2007, 12:33
Creo que hystd lo ha dejado bien claro y te ha dado pistas más que suficientes para que comiences a investigar un poco por tu cuenta. Este tipo de aplicaciones C/S suelen ser algo complicadas, pero una vez que le pillas como funcionan no suelen tener mucho secreto. Suerte!