Thanks for the reply.
How long is long? When should I use IoHandler and when StreamIoHandler?
Zohar.

On 3/17/06, Maarten Bosteels <[EMAIL PROTECTED]> wrote:
>
> Why do you think you need a StreamIoHandler ?
> Are the messages relatively short or rather long ?
> Is there a big lag between receiving the beginning of a message
> and receiving the end of the message ?
>
> I have never tried StreamIoHandler, I guess to get started it's easier
> to just implement a ProtocolDecoder/ProtocolEncoder and let MINA
> handle the threading stuff.
>
> But of course it should be possible to handle your use case with a
> StreamIoHandler.
>
> Maarten
>
> On 3/17/06, cheng wei <[EMAIL PROTECTED]> wrote:
> > hello Zohar Amir,
> >   (method 1).You have said "The message are built as a PDU wrapping an
> XML
> > message".you may create an simple example to show where the problem will
> > happens,and show its critical part of code here.
> >   (method 2).With the simple example,you can write same test unit and
> log
> > message.They will help you to solve some problems.(if you don't know how
> to
> > write test unit and log message,i have an simple example.If you
> need,send
> > email to me.)
> >
> > 2006/3/17, Zohar Amir <[EMAIL PROTECTED]>:
> > >
> > > Hello list,
> > >
> > > I've posted here a request for help a few days ago but only got 1
> reply,
> > > which did not get me very far. I'll try explaining my problem again,
> in
> > > the
> > > hope of getting some more help.
> > >
> > > I need to put up a server that handles client requests. Each client
> > > connects
> > > via TCP to the server and then they exchange messages. The messages
> are
> > > built as a PDU wrapping  an XML message.
> > >
> > > Looking at the examples I got with MINA, it seems that the best option
> is
> > > using a StreamIoHandler (decision 1). When doing that I ran into some
> > > problems:
> > >
> > > The processStreamIo method starts a new thread to handle the incoming
> > > data.
> > > This thread reads the input stream and decodes the incoming messages.
> The
> > > first problem was stopping this thread when the sessionClosed method
> is
> > > invoked, because the read methods are blocking. I solved this by
> closing
> > > the
> > > session's InputStream when the sessionClosed method is invoked, thus
> > > causing
> > > the reading thread to throw an IOException and then terminating the
> > > readingloop (decision 2). This seemed to work OK, until I had a client
> > > that sent me
> > > a single message and then closed the TCP connection quickly (hit and
> run).
> > > This caused my former mechanism to close the InputStream before the
> new
> > > thread had a chance to read the message and decode it.
> > >
> > > OK, I hope all this clear.
> > >
> > > Can anyone tell me what I did wrong and how I should solve this?
> > >
> > > Thanks,
> > >
> > > Zohar.
> > >
> > >
> >
> >
>

Reply via email to