mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Ulrich <steve.ulr...@proemion.com>
Subject Re: Please help me. A question about Apache Mina no---signature
Date Tue, 02 Feb 2010 09:20:30 GMT
Hi!

> Ashish [mailto:paliwalashish@gmail.com] wrote:
>
> On Tue, Feb 2, 2010 at 12:41 PM, Meysam Ebrahimi <serest@gmail.com>
> wrote:
> > Hi,
> >
> > My name is Meism.
> > I have a project that should work with socket. I have to write server
> side
> > code via Apache Mina and client side bye pure java NIO.
> > I couldn't send message to mina server as usual, but when I remove
> this line
> > from Mina server class :
> > *chain.addLast("codec", new ProtocolCodecFilter(new
> > TextLineCodecFactory()));*
>
> U can't work without a Codec or a filter. You need to know how to
> convert messages to bytes and vice-versa..

Of course you can, if you do the the en-/decoding before passing the WriteRequest.

> >  Mina server can receive message from client, but when I want to use
> > *session.write("message
> > received") *to send a message from server to client , I get an
> exception
> > like this:
> > *Don't know how to handle message of type 'java.lang.String'.  Are
> you
> > missing a protocol encoder?*
> >
> > What is the problem?

Your name suggests, that your platform default encoding isn't US-ASCII.
So you have to make sure, you are using a propper encoding on *both* sides (i would recommend
a UTF encoding).

Additionally the Text*Line*CodecFactory can only forward a message as complete, if it receives
a line delimiter (Either "\n" or "\r\n" in most cases)

Just try to send "text\n" instead of "text" and the TextLine decoder will know that the line
ended.

> Add the codec and things will work fine..

He just said that it won't ;-)

> > Wishes.

Please use the users mailing list for questions about using mina.

regards

Steve


Mime
View raw message