PDA

Ver la Versión Completa : programar un chat (Cliente/Servidor)


mojon
03-01-2004, 21:54:08
Soy un programador principiante en Delphi y Cbulider y quiero desarrollar un chat tipo messenger o ICQ, pero no se como hacerlo he estado averiguando y se que tengo que abrir puertos y crear sockets, si alguien me puede ayudar dandome información o donde puedo encontrar la información que necesito por favor avisenme.

Esto de programar es interesante. :cool:

DarkByte
03-01-2004, 23:48:47
Me alegra que te guste esto de la programación...

Mira, lo que te voy a decir es del Client y Server Socket y no de los Indy's, a si que si utilizas estos últimos, no me eches cuenta.

Para conectar el Cliente al servidor puedes hacerlo a través de un botón con el código:


ClientSocket1.Address := IpDelServidor;
ClientSocket1.Active := True;

Después también puedes poner en el cliente un Edit y un botón con el texto enviar, supongamos que el edit se llama eTextoaenviar, y que también tenemos un memo llamado mmConversación; en el evento OnClick del botón pones;

ClientSocket1.Socket.SendText (eTextoaenviar.Text);
mmConversacion.Lines.Add (eTextoaenviar.Text);

En el evento OnRead (Al leer) del ClientSocket pones:

mmConversacion.Lines.Add (Socket.ReceiveText);

Con esto has conseguido que, al recibir un texto, lo ponga en el memo.

Ahora el botón de desconectar:

ClientSocket.Active := False;

Esto te lo he escrito sobre la marcha, por lo que lo más seguro es que tenga algún fallo, confío en que los gurus de clubdelphi me corrigan. Mañana si tengo tiempo y me acuerdo te pongo algo que te aclare las ideas con el ServerSocket.

Espero haberte ayudado..., si tienes alguna duda o te sale algo mal no dudes en preguntar. Y... espero que te siga entusiasmando delphi, yo me sorprendo con él cada día

Descendents
04-01-2004, 00:12:49
Lo que te ha dicho darkbyte, funciona,y esta bien programar con client y serversockets, pero si te sirve de algo mi consejo, usa los componentes indy,te solucionaran muchas cosas, no solo a nivel de transferencias TCP sino también UDP, y demás.Además en www.nevrona.com/indy tienes ejemplos.De chats,FTP y de más.

No sem, según veas tus necesidades, pero yo creo que te ayudaran mucho.A ver que tal te va.

Saludos

DarkByte
04-01-2004, 11:41:30
Bueno, creo que es mejor que cojas los Indy. Yo te he escrito eso porque no tengó ni idea de cómo usar los Indy (Indy era femenino o másculino???:confused: ) y te he escrito lo que yo uso, que por cierto me dá un montón de errores hasta a mí. He buscado la página de los ejemplos de Indy y no los he encontrado (lo que demuestra lo inútil que soy :( ) ¿alguien podría escribir la ruta completa ya sea a la page o al zip?. Gracias.

Ah, y mojon (,vaya nick... xD,) sigue el consejo de Descendents, que el mío lo más seguro es que te meta en complicaciones.

Descendents
05-01-2004, 02:21:53
mira aki
http://www.indyproject.org/teams/Demo/demolisting80.html

Saludos

DarkByte
05-01-2004, 18:07:47
:( Siento ser merluzo, a esa página si había llegado. Me sale una lista de los ejemplos, pero no veo nada de Download o similar...

mojon
05-01-2004, 20:39:09
Gracias por los consejos estoy probando DarkByte. sobre los componentes indy tambien estoy como DarkByte, si nos puedes dar una ayuda mas decendents...


Bueno le voy ir dando mis resultados pero ya estoy avanzando.

PD. sobre mi nick es muy complicado y una larga historia asi que otro dia les cuento:cool:

Descendents
06-01-2004, 02:27:54
primero teneis que buscar, y sino lo encontrais, pues lo deciis, pero tiene mucha dificultad.

En esta dirección, hay los ejemplos con indy 8 pero bueno son casi totalmente compatibles con las de otras versiones

descargad Indy delphi demos

http://www.indyproject.org/download/Indy8.html/

Saludos

mojon
06-01-2004, 19:17:21
Ok, muchachos he probado los que DarkByte me dijo y funciona se realiza la conexión, solo probe con un solo equipo. el primer paso esta listo, ahora toca enviar mensaje y que dos equipos se conecten al mismo tiempo.

Estoy revisando los componente que dices descendents los indy. te aviso mi progreso espero poder terminar antes del fin de semana toda la programacion por que estoy emocionado.

uhhhhh, estoy programando en delphi.


mojon :D

DarkByte
12-01-2004, 22:23:55
Jeje, algo parecido me pasa a mi con la informática, es lo úniko que he empezado con emoción y que no me aburro, y eso que toy desde los 6 añitos :D.

mojon
08-02-2004, 16:10:56
Hola,
Les cuento que ya he podido hacer funcionar el chat. bueno no esta muy bien. porque tengo problema cuando el cliente suelta la conexion. El error me da en los componentes indy. y cuando hago un netstat -an para ver si la conexion ha sido liberada tengo time_wait, estoy tratando de buscar ese error en la pagina de los indy y no he podido encontrar nada si alguien sabe como solucionar este problema, agradecere su ayuda.

MOJON

jachguate
10-02-2004, 01:00:57
Hola.

Creo que es imprescindible (como indica la guia de estilo) que indiques al menos cual es el error que ocurre (y de ser posible la clase de la excepción) para poder ayudarte.

Además, si el mensaje ya no tiene mucho que ver con el mensaje original, considerá abrir otro hilo... siempre depende, pero se trata de hacer funcionales las busquedas al no incluir preguntas/respuestas de problemas que no tienen que ver con el título de los mensajes.

Hasta luego.

;)

Deyrsent
19-07-2004, 11:08:09
Descendest, la dirección que diste para descargar el ejemplo de chat (http://www.indyproject.org/download/Indy8.html/) está ya inactiva. Sabes de otro lugar para conseguirlo? Gracias! :)

DarkByte
19-07-2004, 13:31:06
Lo primero, bienvenido Deyrsent, espero verte mucho y a menudo por aquí ;)
Lo segundo: http://www.indyproject.org/indy/demodownloads/I9D6_Demos_24Nov02.zip , es el enlace directo a los ejemplos de indy para delphi

(Keywords: ejemplo, ejemplos, indy, indy's, chat, programar, cliente, servidor, cliente/servidor, código fuente)

Deyrsent
19-07-2004, 13:57:39
Muchas gracias por la pronta respuesta y la bienvenida :). Ahora sólo queda empollármelo y sacar cosas en claro, jeje.


Y descuida que ya llevo entrando bastante tiempo y ya he aprendido bastantes cosas ^^

DarkByte
19-07-2004, 17:11:55
Más que empollartelo te recomiendo que lo desgloses y vallas practicando cada parte del programa, copiando a un cuaderno lo que no se quede y luego transcribiendolo a mano al pc. Aunque cada uno tiene su manera...

Taluegor!!

[Gunman]
13-03-2005, 10:35:54
Bueno, yo elaboré un chat con los Sockets en delphi 6. Aquí tienes el codigo, te advierto que tiene liciencia GPL, (no hagas copy&paste :D). La dirección:
http://gunmancorp.ifreepages.com/files/gsockchat/20/source/GSoCKCHaT20C------SouRCe_CoDe---By_GuNMaN_CoRPoRaTioN.rar
El codigo es bastante extenso ya que está en 3 idiomas y los he traducido uno a uno. Creo que tiene anotaciones para aclarar que hace cada procedimiento, pero no me acuerdo.
Salud!

kakesoft
22-04-2005, 20:45:58
Gunman te diré que me reinstringieron las descargas y no puedo bajarme tu ejemplo, podrías enviármelo a kakesoft@yahoo.es o kakesoft@gmail.com

te agradeceré mucho si me ayudas, gracias de antemano

[Gunman]
23-04-2005, 01:33:48
Has intentado bajarlo? prueba con esta dirección (la otra ha caducado):
http://gftpklient.sourceforge.net/gcorp/pages/gsockchat20.php
Si no puedes descargar-lo, intentaré enviarte un email, pero recuerdamelo...
BYeZ!