Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Aplicacion Cliente Servidor. (https://www.clubdelphi.com/foros/showthread.php?t=92382)

usuario1000 16-10-2017 14:23:50

Aplicacion Cliente Servidor.
 
Buenas tardes,

Estoy realizando una aplicación cliente-servidor o aplicación distribuida, donde realizo dos programas al mismo tiempo, uno es el cliente y otro el servidor (DATASNAP).

Ya he conseguido que funcionen las aplicaciones en una máquina diferente a la mía, que es donde realizo el programa, pero me surge una duda, que espero podáis ayudarme.

¿La aplicación servidor, se tiene que ejecutar en cada máquina?, pensaba que el servidor podía estar funcionando en una máquina y los demás clientes, desde sus máquinas podían acceder a los datos a través de este servidor(programa entiéndase). Ahora mismo, como está funcionando es que ejecuto servidor y cliente por cada máquina, pero lo veo un poco raro.

Podéis aclararme un poco como configurar esto, o algún enlace de donde tirar.

Gracias anticipadas.

bitbow 16-10-2017 16:46:31

Tal cual lo mencionas, el cliente debe correr en cada equipo y el servidor en el equipo servidor (si es que asi lo implementaste), el programa servidor podria ejecutarse en cada cliente dependiendo de las necesidades y dependencias que tengas por lo que debrias de analizar como lo diseñaste.

Saludos.

usuario1000 16-10-2017 16:53:36

Cita:

Empezado por bitbow (Mensaje 521758)
Tal cual lo mencionas, el cliente debe correr en cada equipo y el servidor en el equipo servidor (si es que asi lo implementaste), el programa servidor podria ejecutarse en cada cliente dependiendo de las necesidades y dependencias que tengas por lo que debrias de analizar como lo diseñaste.

Saludos.

Gracias por contestar, y perdona mi ignorancia. Ya tengo el programa bastante avanzado y como hago ahora, para que el servidor se ejecute sólo en mi máquina por ejemplo, que es donde estará la base de datos y las demás máquinas sólo ejecuten el programa cliente y se comuniquen con el servidor. Porque entiendo que el servidor al estar en la máquina donde está la base de datos, los accesos a estos datos, serán más rápidos desde las otras máquinas.

Gracias anticipadas.

AgustinOrtu 16-10-2017 16:54:04

Por lo general lo que se cumple es que el nro de clientes >> nro servidores.

Lo más sencillo es tener un único servidor al que se conectan los clientes, aunque con las demandas que tienen algunas aplicaciones podría ser necesario hacer lo que se conoce como balance de carga, que consiste en repartir el trabajo entre varios servidores

Ahora bien, nada te impide tener un cliente y un servidor corriendo en un mismo equipo, pero deberías analizar bien el caso. Que es lo que hace tu servidor? A mí se me ocurre que los servidores corren un programa que sirve para realizar tareas de cómputo pesadas y/o almacena datos, este último te permite compartir los mismos datos (ej base de datos) entre los distintos clientes.. por lo que no tendría sentido tener un servidor por cliente

usuario1000 16-10-2017 16:56:47

Cita:

Empezado por AgustinOrtu (Mensaje 521760)
Por lo general lo que se cumple es que el nro de clientes >> nro servidores.

Lo más sencillo es tener un único servidor al que se conectan los clientes, aunque con las demandas que tienen algunas aplicaciones podría ser necesario hacer lo que se conoce como balance de carga, que consiste en repartir el trabajo entre varios servidores

Ahora bien, nada te impide tener un cliente y un servidor corriendo en un mismo equipo, pero deberías analizar bien el caso. Que es lo que hace tu servidor? A mí se me ocurre que los servidores corren un programa que sirve para realizar tareas de cómputo pesadas y/o almacena datos, este último te permite compartir los mismos datos (ej base de datos) entre los distintos clientes.. por lo que no tendría sentido tener un servidor por cliente


Lo que hace este servidor, es leer y escribir en la base de datos, que es compartida por los distintos clientes.

Pero no se me ocurre como debo programar o comunicar al cliente de una máquina con el servidor que está en la mía.

Gracias por contestar.

Neftali [Germán.Estévez] 16-10-2017 17:02:05

Dicen que: "Una imagen vale más que 1000 palabras..."



Otro ejemplo:


bitbow 16-10-2017 17:05:03

Creo que tus problemas y tus dudas van de como apuntar tus clientes a la aplicacion servidor en el equipo servidor, con la ip y el puerto del equipo servidor sera suficiente (la ejecucion local va a la ip 127.0.0.1 o a localhost), cambiando esto a la ip y direccion del equipo servidor en cada cliente sera suficiente para que funciones como lo planteas.

Saludos

usuario1000 16-10-2017 20:01:11

Gracias a todos por contestar.

Efectivamente ese es mi problema, ¿cómo le digo al "cliente" que busque al "servidor"? que está en otra máquina ya funcionando y le facilite los datos que el "cliente" solicite.

La ip y el puerto, está en la conexión que he creado dentro del "servidor", pero en el cliente no pongo nada de IP ni puerto, a no ser que haya que hacer alguna cosa que no sé como hacerla. Me falta ese pasito, el de decirle al cliente que busque al servidor, que está en otra máquina.

Gracias a todos, nuevamente.

bitbow 16-10-2017 20:03:47

Revisa bien la configuracion del cliente, esta debe estar por defualt solo es necesario cambiarla y de preferencia meterla en algun lado para que sea configurable y no quede en duro.

Saluds.

usuario1000 16-10-2017 20:06:00

Muchas gracias, lo voy a intentar, a ver por donde miro que pueda cambiar.

Voy informando.

Gracias.

bitbow 16-10-2017 20:34:53

en el cliente datasnap tienes una conexión, esa es la que debes de configurar.

Saludos.

usuario1000 19-10-2017 16:12:11

Cita:

Empezado por bitbow (Mensaje 521774)
en el cliente datasnap tienes una conexión, esa es la que debes de configurar.

Saludos.

Muchisimas gracias. Lo he probado funcionando perfectamete !!!!. Vaya subidón:D:D:D.

Muchísima gracias.!!!!


La franja horaria es GMT +2. Ahora son las 20:26:52.

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