Controlar Read/Write con TCP's
Queria plantear otro problemita que me ha surgido: resulta que tengo 2 aplicaciones, una Server y otra cliente e intento enviar una imagen entre ambos. Para esto utilizo la suit "FUNDAMENTALS 3 - SOCKETS". Pues resulta que al enviar de cliente a Server no hay problema, el server recibe bien el archivo, pero al reves no lo he podido lograr y me he dado cuenta de una cosa: Cuando el Cliente envia los bloques con "WriteBuf", estos bloques no se envian hasta que acabo de escribirlos todos.
El codigo es el siguiente
y en el Server tengo:
Pero resulta que cuando quiero enviar a la inversa, es decir Server-Cliente, me surge un problema y es que cuando hago "WriteBuf", este bloque se envia inmediatamente y no espera a tener todo el fichero completo en el BUFFER como ocurre entre Cliente-Server. Esto lo se porque he puesto controles en ambos programas cuando reciben y envian y he podido detectar la inmediatez del envio. En este caso, el codigo para enviar desde el server es el siguiente:
En todo caso lo que intento es lograr parar el envio del "WriteBuf" hasta no acabar de escribir todo el fichero. Existe alguna manera de abrir y cerrar la comunicacion (sin cerrar la conexion entre ambos), es decir, como un grifo que pueda abrir y cerar segun me interese.?, seguro que en esto esta la clave. No se si me he podido explicar correctamente, espero que alguien me pueda dar una luz al respecto. Gracias |
La franja horaria es GMT +2. Ahora son las 23:27:22. |
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