Hi Matt,
Problem is that (line = buffIns.readLine()) == null does not terminate
the loop. Since most messages ends with EndMessage, how do I know how
many more to read before I break the loop??
Thanks,
Michael
Matthew Toseland wrote:
> 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
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Devl mailing list
>>> Devl at freenetproject.org
>>> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl