Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2009
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Lightbulb Cliente/Servidor de Mensajeria Instantania

Hola amigos.

La cosa es que necesito hacer un servidor de mensajeria instantania para poder chatiar con mi novia, que se encuentra en la misma red de area local. Pero lo que pasa que que es necesario que lo haga yo para facilitarle a ella las cosas ya que no sabe nada de nada, y ademas el programa debe tener ciertas caracteristicas que solo ella y yo usaremos. Gggg.

Bueno lo que necesito que me digan es mas o menos el procedimiento a seguir para implementar un servidor al cual se puedan conectar muchos clientes y resivir mensajes tantos publicos como provador.
Responder Con Cita
  #2  
Antiguo 13-11-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Supongo que ya sabes que hay cientos de programas de este tipo. La mayoría gratuítos. Algunos de ellos en Delphi y con fuentes. Asummiendo que ya sabes esto y que aun así deseas hacer tu programa, te recomiendo que revises la carpeta de Demos que viene con Delphi, ya que allí tienes un ejemplo de un Chat.

Deberías revisar los componentes de las Indy para Cliente y Servidor.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 13-11-2009
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Bueno neftali ante todo muchas gracias por responder a mi pregunta. Es cierto todo eso que dices, pero no se si me vas a entender !

Nunca has querido hacer algo tu mismo desde 0, sin nada de nada, comenzandolo todo tu?
Esos es un deseo que tengo hace ya bastante tiempo y es sobre este tema.

He comenzado a trabajar usando los componentes de la Indy 9, el idTCPClient e idTCPServer respectivamente. Pero necesito que me den mas o menos la logica de como es que se hace esto.

Por ejemplo algo asi.

El Cliente se conecta.
El servidor envia el comando GetUserInfo.
El cliente recoje la informacion del usuario y se la envia al servidor.
bla bla bla....

Ya entiedes?
Estas cosas son las que me hacen falta, la logica de como hacerlo !
En realidad el mayor problema es para actualizar la lista de usuarios que hay en el servidor. Eso es lo que no he logrado hacer aun.
Responder Con Cita
  #4  
Antiguo 13-11-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por fide_uci Ver Mensaje
Nunca has querido hacer algo tu mismo desde 0, sin nada de nada, comenzandolo todo tu?
Esos es un deseo que tengo hace ya bastante tiempo y es sobre este tema.
Me ha pasado muchas veces. Sólo quería confirmar que realmente era así.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 13-11-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por fide_uci Ver Mensaje
He comenzado a trabajar usando los componentes de la Indy 9, el idTCPClient e idTCPServer respectivamente. Pero necesito que me den mas o menos la logica de como es que se hace esto.
Arranca el Servidor y realiza el Open.
Al arrancar los clientes realiza el Open.

Con eso ya tienes la conexión.
Programa el OnClientConnect y OnClientDisconnect para controlar los clientes conectados; Aquí puedes utilizar las propiedades RemoteHost y RemoteAddress (revisa qué valores tienen).
A partir de ahí se trata de ir añadiendo cosas.

Para enviar un texto desde un cliente utiliza el SendText.

Código Delphi [-]
    ClientSocket1.Socket.SendText(edtTexto.Text);

Y para recibirlo desde el Servidor programa los eventos ClientRead/ClientWrite (para ambas operaciones).

Espero que te sirva para empezar.
Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 13-11-2009
duranguenze duranguenze is offline
Miembro
 
Registrado: nov 2009
Posts: 17
Poder: 0
duranguenze Va por buen camino
Hace ya varios años hice uno, pero en otro lenguaje, usando los indi te facilita bastante, no hay necesidad de tener un servidor por asi decirlo, creas un programa el cual haga el papel de cliente y de servidor, este lo pones a escuchar un puerto pre establecido, y le dices que cheque todas las terminales para ver si el puerto esta a la escucha, si lo esta entonces que se presente.

Dicho de otro modo, inicia el programa, pregunta a todas las terminales si esta activo, si no esta entonces se pone a escuchar, cuando hace la conexion crea un nuevo socket en un puerto que este disponible, y a travez de este se hace el dialogo entre las personas, el puerto que esta a la escucha o por donde le hablan solo es para hacer la conexion, aparte de este puerto se abren otros dos, uno para el dialogo entre las personas y otro para los comandos.

Espero que te sea sencilla la explicacion de manera general.
Responder Con Cita
  #7  
Antiguo 14-11-2009
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Oye, yo no soy novato trabajando con la Indy. todo eso lo se. Pero te repito, mi principal problema radica en que no se como controlar todas las conexiones que van surgiendo a medida que se conectan mas clientes.

En el indyTCPDemo que trae la Indy 9 se ve que usan una Lista de Hilos, pero no tengo ni idea de como usarla. Me podrian dar mas ayuda pleasee?
Responder Con Cita
  #8  
Antiguo 16-11-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Entonces es que a lo mejor no estás planteando las preguntas como debes.

Código Delphi [-]
var
  i:Integer;
  wSocket:TCustomWinSocket;
  str:string;
begin

  for i := 0 to (ServerSocket1.Socket.ActiveConnections - 1) do begin
    wSocket := ServerSocket1.Socket.Connections[i];

    Str := 'Host: ' + wSocket.RemoteHost + '  Adress: ' + wSocket.RemoteAddress +
           '  Port: ' + IntToStr(wSocket.RemotePort);
    MessageDlg(Str, mtInformation, [mbOK], 0);
  end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 16-11-2009
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Ya entiendo. Pero ahi estas usando el TServerSocket y yo lo que uso es el idTCPServer.
Ya estoy avanzando bastante, asi que en cualquier momento te comento como voy adelantando. Esta quedando Cool !
Responder Con Cita
  #10  
Antiguo 16-11-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por fide_uci Ver Mensaje
Pero ahi estas usando el TServerSocket y yo lo que uso es el idTCPServer.
Perdón, se me escapó ese detalle (que ya habías comentado).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #11  
Antiguo 17-11-2009
Alzheimer Alzheimer is offline
Miembro
 
Registrado: mar 2009
Posts: 16
Poder: 0
Alzheimer Va por buen camino
posible respuesta

perdonen la repeticion... mi konexion es pesima

Última edición por Alzheimer fecha: 17-11-2009 a las 03:56:08. Razón: error de repeticion
Responder Con Cita
  #12  
Antiguo 17-11-2009
Alzheimer Alzheimer is offline
Miembro
 
Registrado: mar 2009
Posts: 16
Poder: 0
Alzheimer Va por buen camino
hola fide...
hace un tiempo hice un ejemplito k kon bastante mas pulidera kizas te sirva para lo k kieres hacer...> ***en lo k tienes problemas es en gestionar la lista de konexiones esto lo resuelve...*** aklaro, el TIdTelnet funciona kasi igual k el TIdTcp

aki te posteo el kodigo (tiene algunos errores todavia pero es solo la base. en realidad ya tengo un sistema asi funcionando k lo mande no hace mucho a un amigo alla en la UCI, esta integrado a una herramienta k se llama FantasticTool y es de libre distribucion y kopia...)
_____________________________________________________________-__
Archivos Adjuntos
Tipo de Archivo: zip TelnetChatTest.zip (24,9 KB, 24 visitas)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como crear tu cliente de mensajeria soler Internet 8 22-11-2007 00:29:33
Cliente-Servidor en VPN CoCaInE Conexión con bases de datos 7 11-06-2006 05:57:17
Google Talk - El cliente de mensajería de Google dec Noticias 18 26-08-2005 09:11:39
Indy+Cliente Mensajería+Ip, etc... johncook Internet 2 09-11-2004 11:28:38
cliente servidor Humberto Pertuz Conexión con bases de datos 3 23-11-2003 17:34:49


La franja horaria es GMT +2. Ahora son las 16:33:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi