Un servidor y varios clientes mandando datos que deben ser almacenados en un archivo
Tengo una duda y es, tengo un servidor y varios clientes que se conectan al servidor, la conexión se realiza por medio de sockets.
Hasta aquí bien, el problema es que hay varios clientes enviando datos al servidor, el envío puede que se dé de forma simulátena y el servidor ha de ser capaz de guardar todos los datos que le envíen los clientes en un archivo de texto. Por ejemplo tenemos, un servidor y dos clientes A y B que se han conectado al servidor por medio de sockets. El cliente A envía la secuencia abcdefghi y cuando aun no ha acabado de enviar la secuencia el cliente B envía 1234 el servidor ha de ser capaz de crear un archivo de texto conla siguiente información: abcdefghi 1234 ¿Es posible hacer esto en Delphi? |
con los indy, puedes hacer eso..
bajate los indy 9 o indy 10, y los demos de indy 9, simpletcpserver. en ese ejemplo hay un servidor tcp al que se le conectan cliente (es 1 cliente y el servidor acepta multiples conexiones) y el servidor agrega un registro de que cliente se conecto y la hora. creo te puede servir |
Muy aparte de lo comentado por el compañero JXJ, también te sugiero que leas sobre el uso de los semaforos, creo que era criticalsection en delphi, ya que vas a necesitar eso para que no accedan a grabar el archivo en el mismo instante varios procesos, sino que vaya entrando uno por uno, aunque ambos clientes haigan enviado datos "al mismo tiempo".
Saludos |
La franja horaria es GMT +2. Ahora son las 23:17:18. |
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