On Thursday 27 August 2009 13:00:41 bbackde at googlemail.com wrote:
> You should process the messages in a Thread. Put your code into a Thread
> that calls handler methods when a specific message arrived.
> The Thread runs forever and receives all messages and all data...
All you need to do is parse each message. The type of the message is the first
line, it ends at the last line, unless it has trailing data. You can do this
level of parsing without understanding the message. Then you can ignore it if
you don't understand it, or you can handle it appropriately.
>
> On Thu, Aug 27, 2009 at 03:22, Michael Yip<mhy831 at cs.bham.ac.uk> wrote:
> > Hi guys,
> >
> > Does anyone know how to know when I've read all the PersistentPut and
> > PersistentGet messages at the start? There's no way of knowing how many
> > there are and I have no idea how to know when to stop reading? Below is
> > the code I've written:
> >
> > ? ? ? ?String line;
> > ? ? ? ?while((line = buffIns.readLine()) != null){
> > ? ? ? ? ? ?System.out.println(line);
> > ? ? ? ? ? ?_Logger.log(line);
> > ? ? ? ? ? ?//Capture ConnectionIdentifer to be used as salt for file
> > insertions
> > ? ? ? ? ? ?if(line.contains("ConnectionIdentifier")){
> > ? ? ? ? ? ? ? ?helloID = line.substring(line.indexOf('=') + 1,
> > line.length());
> > ? ? ? ? ? ?}
> > ? ? ? ? ? ?if(line.equals("EndMessage")){
> > ? ? ? ? ? ? ? ?//Read an extra line to see if there are more to read
> > ? ? ? ? ? ? ? ?//Read all persistent puts and gets
> > ? ? ? ? ? ? ? ?line = buffIns.readLine();
> > ? ? ? ? ? ? ? ?if(line.contains("Get") || line.contains("Put") ||
> > line.contains("URI") ||line.contains("Get") || line.contains("Data")
> > ||line.contains("Started") || line.contains("Finished")||
> > line.contains("Simple")){
> > ? ? ? ? ? ? ? ? ? ?System.out.println(line);
> > ? ? ? ? ? ? ? ? ? ?_Logger.log(line);
> > ? ? ? ? ? ? ? ?}else{
> > ? ? ? ? ? ? ? ? ? ?return true;
> > ? ? ? ? ? ? ? ?}
> > ? ? ? ? ? ?}
> > ? ? ? ?}
> >
> > but obviously the reader doesn't know when to stop and so line is never
> > null?
> >
> > Thanks,
> >
> > Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 835 bytes
Desc: This is a digitally signed message part.
URL:
<https://emu.freenetproject.org/pipermail/devl/attachments/20090827/9b8d866c/attachment.pgp>