🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #28120

Re: ayuda, sockets(evitar bloqueo de read's)

#28120
From: Chano G�mez
Date: Sun, 07 Jun 1998 00:00
35 lines
2295 bytes
> >Estoy realizando una aplicacion c/s, el cliente introduce un
> >nombre de fichero que el servidor le envia, �como puedo
> >realizar esto de manera que pueda utilizar un bucle for(;;)
> >(es decir, pido archivo y lo visualizo en pantalla, a continuacion
> >pido otra archivo y lo visualizo, asi sucesivamente)
> >y no se me quede el read bloqueado del cliente?.  La �nica
> >manera que he conseguido de desbloquear el cliente ha sido
> >cerrando el flujo de salida del servidor(pero despues no puedo
> >volver a abrirlo),

Esa es la forma que debes usar. El servidor debe hacer un close() sobre su
socket, y el cliente debe parar de leer cuando el m�todo read() le devuelva
-1. No entiendo bien que quieres decir con eso de que si el servidor cierra su
flujo de salida luego no puede volver a abrirlo.

�Est�s usando un socket distinto para cada conexi�n?


> o poniendo alguna condicion en el bucle while
> >que me recoge el fichero del servidor que me, permita salir pero nunca me
> >aparece en pantalla lo que espero.  He probado a
> >poner un finalizador de manera que el servidor lo envie cuando
> >termina de enviar el fichero y el cliente al leerlo se salga del
> >bucle while, pero no lo consigo hacer bien.

Tendr�s que transmitir alg�n byte que sepas seguro que no va a aparecer en el
archivo que transmites. Si transmites archivos binarios, la �nica soluci�n es
usar "byte stuffing": si la marca de fin de archivo es el byte "0", cada vez
que en el archivo que est�s transmitiendo aparezca un "0" tendr�s que
transmitirlo dos veces, o utilizar alg�n mecanismo de ese tipo.

�Por qu� no nos das m�s datos sobre c�mo est� implementado tu programa?

Chano.
Technical Details
Message-ID: <3579CC13.9B04EFF3@ran.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <6kjf4d$69a$1@talia.mad.ibernet.es> <357a963f.3405969@diana.ibernet.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,7b8eea9f8cd4e3ce
X-Google-Attributes: gid1116f3,public
From: "Chano G�mez" <chano@ran.es>
Subject: Re: ayuda, sockets(evitar bloqueo de read's)
Date: 1998/06/07
Message-ID: <3579CC13.9B04EFF3@ran.es>
X-Deja-AN: 360243692
Content-Transfer-Encoding: 8bit
References: <6kjf4d$69a$1@talia.mad.ibernet.es> <357a963f.3405969@diana.ibernet.es>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Organization: Telefonica Transmision de Datos
Newsgroups: es.comp.lenguajes.java