![]() |
Ayuda con cliente/servidor (sockets)
Muy buenas a todos,
Estoy intentando familiarizarme un poco con los componentes Indy TIdTCPClient y TIdTCPServer, pero necesito ayuda. Lo que intento es realizar un programita al que puedan conectarse uno o varios clientes. Estos clientes una vez conectados no realizan ninguna petición, sino que el servidor conforme va actualizando unos elementos, envía dicha actualización a los clientes. Esto es así de simple. Busco algo como: Si Servidor.ContadorClientes > 0 entonces for I:=0 to Servidor.ContadorClientes do begin Servidor.Cliente[i].EnviarDatos; end; Y por otra parte el cliente debería estar esperando los datos que le llegan por parte del servidor. Datos := Cliente.LeerDatosServidor; ActualizarDatos(Datos); Espero haberme explicado... muchas gracias!!! |
¿Has revisado los ejemplos que vienen con Delphi? ¿Exactamente qué necesitas? ¿Has probado algo? ¿No te funciona?
|
Hola Neftali,
Hace un tiempo me hice un ejemplito con sockets, pero ya no me acuerdo bien de como lo hice. Por otra parte no encuentro los ejemplos que me comentas (uso BDS2006). Para empezar simplemente estoy creando una conexion e intento enviar datos del servidor al cliente, pero no lo consigo. La conexión sí que se realiza, pero después no sé por qué no consigo leer los datos que supuestamente estoy enviando al cliente. Me podrías poner un ejemplito simplemente con la lectura/escritura de un cliente/servidor??? De ahí podría partir bien creo Gracias!!! |
A ver, he buscado el primer ejemplillo que tenía a mano y en ese en concreto utilizo esta función:
A parte de las líneas de Debug (que es para una herramienta interna) y el SocketCommandToStr (que lo único que hace en convertir un enumerado en String), como ves básicamente lo que hago es usar: ASocket.SendText(Str) |
En este caso el cliente tiene q ser un TIdCmdTCPClient:
En los clientes haces uso del evento OnCommand de cada commando creado para el TIdCmdTCPClient.. |
Hola, tras un tiempo estoy recuperando una cosilla que dejé planteada por motivos de trabajo. Ahora necesito recuperar esto. La cosa es que quiero comunicarme con un servidor (q tb estoy implementando) y que el servidor pueda enviar comandos al cliente tb. Para ello veo que se puede usar el componente TIdCmdTCPClient, pero no sé como usarlo. Alguien tiene un ejemplo simple de lectura de comandos por parte del cliente o sabe donde encontrarlo? He buscado ejemplos de las Indy, pero no teng de este componente.
Gracias!!! |
La franja horaria es GMT +2. Ahora son las 12:35:14. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi