You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@mina.apache.org by truesaint <tr...@gmail.com> on 2008/05/06 09:50:51 UTC

LineDelimiter CRLF problem

Hello all,

I'm new to Mina, currently in the process of writing a server, according 
to a protocol that someone else wrote. The "handshake" sequence goes 
like this :

1. client connects.
2. server says "Hi, this is SERVER BLAH BLAH <CR><LF>"
3. server says "Login:" --> note: without <CR><LF>
4. client replies with "username<CR><LF>"
5. server says "Password:" --> note: without <CR><LF>
6. client replies with "password<CR><LF"
7. if ok, server says "Login OK <CR><LF>",
    otherwise "Login FAIL <CR><LF>"
8. server sends out multiple lines of data, with <CR><LF> as
    end-of-line marker.

I'm currently using the supplied TextLineCodecFactory, overridden using 
LineDelimiter.WINDOWS as both the encoder and decoder. The problem is 
with item #3 and #5 above, since the protocol expects a line without 
<CR><LF>. I have no idea where to start.

Thank you very much in advance,
t.s.

PS: Unfortunately the protocol is "set in stone" so i can't change it.






Re: LineDelimiter CRLF problem

Posted by "이희승 (Trustin Lee)" <tr...@gmail.com>.
JIRA issue created:

https://issues.apache.org/jira/browse/DIRMINA-586

On Thu, 15 May 2008 17:41:36 +0900, 이희승 (Trustin Lee)  
<tr...@gmail.com> wrote:

> Hi t.s,
>
> First off, sorry for the late reply.  We were busy with some development  
> talk. :)
>
> This is an interesting problem.  In this case, the delimiter should be  
> dynamic, which means TextLineDecoder should provide an extension point  
> so you can determine if you encountered the delimiter or not depending  
> on context.
>
> Actually, we are thinking of providing a better codec framework to deal  
> with this kind of 'framing' issue, and it should be resolved in MINA 2.   
> However, I'm afraid you will not get this feature in MINA 1.x.
>
> Meanwhile, you will have to modify the TextLineDecoder by yourself to  
> accomplish what you need.
>
> HTH,
>
> On Tue, 06 May 2008 16:50:51 +0900, truesaint <tr...@gmail.com>  
> wrote:
>
>> Hello all,
>>
>> I'm new to Mina, currently in the process of writing a server,  
>> according to a protocol that someone else wrote. The "handshake"  
>> sequence goes like this :
>>
>> 1. client connects.
>> 2. server says "Hi, this is SERVER BLAH BLAH <CR><LF>"
>> 3. server says "Login:" --> note: without <CR><LF>
>> 4. client replies with "username<CR><LF>"
>> 5. server says "Password:" --> note: without <CR><LF>
>> 6. client replies with "password<CR><LF"
>> 7. if ok, server says "Login OK <CR><LF>",
>>     otherwise "Login FAIL <CR><LF>"
>> 8. server sends out multiple lines of data, with <CR><LF> as
>>     end-of-line marker.
>>
>> I'm currently using the supplied TextLineCodecFactory, overridden using  
>> LineDelimiter.WINDOWS as both the encoder and decoder. The problem is  
>> with item #3 and #5 above, since the protocol expects a line without  
>> <CR><LF>. I have no idea where to start.
>>
>> Thank you very much in advance,
>> t.s.
>>
>> PS: Unfortunately the protocol is "set in stone" so i can't change it.
>>
>>
>>
>>
>>
>
>
>



-- 
Trustin Lee - Principal Software Engineer, JBoss, Red Hat
--
what we call human nature is actually human habit
--
http://gleamynode.net/

Re: LineDelimiter CRLF problem

Posted by "이희승 (Trustin Lee)" <tr...@gmail.com>.
Hi t.s,

First off, sorry for the late reply.  We were busy with some development  
talk. :)

This is an interesting problem.  In this case, the delimiter should be  
dynamic, which means TextLineDecoder should provide an extension point so  
you can determine if you encountered the delimiter or not depending on  
context.

Actually, we are thinking of providing a better codec framework to deal  
with this kind of 'framing' issue, and it should be resolved in MINA 2.   
However, I'm afraid you will not get this feature in MINA 1.x.

Meanwhile, you will have to modify the TextLineDecoder by yourself to  
accomplish what you need.

HTH,

On Tue, 06 May 2008 16:50:51 +0900, truesaint <tr...@gmail.com> wrote:

> Hello all,
>
> I'm new to Mina, currently in the process of writing a server, according  
> to a protocol that someone else wrote. The "handshake" sequence goes  
> like this :
>
> 1. client connects.
> 2. server says "Hi, this is SERVER BLAH BLAH <CR><LF>"
> 3. server says "Login:" --> note: without <CR><LF>
> 4. client replies with "username<CR><LF>"
> 5. server says "Password:" --> note: without <CR><LF>
> 6. client replies with "password<CR><LF"
> 7. if ok, server says "Login OK <CR><LF>",
>     otherwise "Login FAIL <CR><LF>"
> 8. server sends out multiple lines of data, with <CR><LF> as
>     end-of-line marker.
>
> I'm currently using the supplied TextLineCodecFactory, overridden using  
> LineDelimiter.WINDOWS as both the encoder and decoder. The problem is  
> with item #3 and #5 above, since the protocol expects a line without  
> <CR><LF>. I have no idea where to start.
>
> Thank you very much in advance,
> t.s.
>
> PS: Unfortunately the protocol is "set in stone" so i can't change it.
>
>
>
>
>



-- 
Trustin Lee - Principal Software Engineer, JBoss, Red Hat
--
what we call human nature is actually human habit
--
http://gleamynode.net/