Netty를 안드로이드에서 사용하는건 비권장인가요?

2,269 views
Skip to first unread message

곰탱이

unread,
Jan 17, 2014, 7:01:48 AM1/17/14
to nett...@googlegroups.com
안드로이드 입문자입니다.
이번에 안드로이드를 이용한 클라이언트 라이브러리를 만들게되어서
TCP 클라이언트 구현을 Netty를 이용해서 구현 하려고 관련 자료를 찾아보면
OIO를 사용해야 하고 SSL 기능에 문제가 있어서 안드로이드에서의 사용은 권장하지않는것 같더군요.
네티 버전도 5까지 나와있던데 지금도 안드로이드에서의 사용은 권하지 않는지 알고 싶습니다.

"이희승 (Trustin Lee)"

unread,
Jan 17, 2014, 7:37:30 AM1/17/14
to nett...@googlegroups.com
안녕하세요.

안드로이드에서 우선적으로 테스트하지 않다 보니 제대로 동작은 하는지 어떤 문제점이 있는지 확실치 않은 부분이 있습니다.

그러나 모바일 디바이스의 능력이 좋아지고 ADK의 NIO 구현이 안정화되면서 네티를 사용하는 것이 충분히 매력적인 선택이 될
것으로 기대하고 있습니다. 만약 Ice Cream Sandwich나 Jelly Bean 이상에서 구동되는 앱을 개발하실
예정이라면 아마도 NIO 와 SSL 을 사용하고도 문제가 없을 것으로 예상되므로, Netty 4 나 5 를 이용해 안드로이드
앱을 개발하시면 최대한 지원해 드릴 수 있도록 해 보겠습니다.

이희승 드림
> --
> Google 그룹스 'Netty Korean User Group' 그룹에 가입했으므로 본 메일이
> 전송되었습니다.
> 이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 netty-
> ko+unsu...@googlegroups.com에 이메일을 보내세요.
> 더 많은 옵션을 보려면 https://groups.google.com/groups/opt_out을(를)
> 방문하세요.

--
https://twitter.com/trustin
https://twitter.com/trustin_ko
https://twitter.com/netty_project

"이희승 (Trustin Lee)"

unread,
Jan 17, 2014, 8:01:24 AM1/17/14
to nett...@googlegroups.com
생각난 김에 다음 이슈를 만들어 놓았습니다:

https://github.com/netty/netty/issues/2127

관심이 있으시다면 직접 참여하셔도 재미있겠지요?

곰탱이

unread,
Jan 19, 2014, 12:59:48 PM1/19/14
to nett...@googlegroups.com
감사합니다.
조만간 안드로이드에서도 안정화가 검증되고 가벼워지겠군요.^^
아직은 제 폰도 Gingerbread라서 최소한 Gingerbread나
Froyo는 지원해야 하지 않을까 싶어서 2.X 버전을 고려하고 있는데
안드로이드 4.X 버전부터 NIO나 SSL관련 문제들이 없나 보네요?
나중에 개인적으로 학습하면서 만드는 버전은 4.X로 하고 고려해 봐야 겠습니다.

2014년 1월 17일 금요일 오후 9시 37분 30초 UTC+9, t 님의 말:

"이희승 (Trustin Lee)"

unread,
Jan 19, 2014, 5:41:37 PM1/19/14
to nett...@googlegroups.com
Gingerbread 에서는 SSLEngine 관련 버그가 있어서 힘들 것 같아요 ^^

https://code.google.com/p/android/issues/detail?id=12955#c12
> > ko+unsu...@googlegroups.com <javascript:>에 이메일을 보내세요.
> > 더 많은 옵션을 보려면 https://groups.google.com/groups/opt_out
> <https://groups.google.com/groups/opt_out>을(를)
> https://twitter.com/netty_project <https://twitter.com/netty_project>

bdhyuk

unread,
Jan 20, 2014, 4:30:39 AM1/20/14
to nett...@googlegroups.com
안녕하세요 

우선 안드로이드를 지원해 주신다고 하여 정말 감사드립니다.

netty 5.0.0 alpha2를 빌드를 하여 안드로이드에 적용을 해 보았습니다.


websocket client sample을 적용해보려고 하는데 

PlatformDependent의
private static final boolean HAS_JAVASSIST = hasJavassist0();
에서 Class Not Found Exception이 발생합니다.
이후 아래와 같은 에러와 함께 정상적으로 동작하지 않는것 같습니다.

01-20 18:17:45.656: W/System.err(16436): io.netty.handler.codec.DecoderException: HttpClientCodec$Decoder.decode() must consume the inbound data or change its state if it did not decode anything.

이 부분을 강제로 
private static final boolean HAS_JAVASSIST = false;
로 설정을 하여 테스트를 해보니 데이터가 정상적으로 들어옵니다.

안드로이드 지원에 참고 부탁드리겠습니다.
 

2014년 1월 20일 월요일 오전 7시 41분 37초 UTC+9, t 님의 말:

"이희승 (Trustin Lee)"

unread,
Jan 21, 2014, 12:31:31 AM1/21/14
to nett...@googlegroups.com
안녕하세요. 테스트해 주셔서 대단히 감사합니다.

안드로이드에서 Javassist의 사용을 완전히 끄기 위해 다음과 같이 수정했습니다:

  https://github.com/netty/netty/commit/2be6d1bcc11e1659d47c1d1ef5547b2c5a890a08

수정된 빌드로 문제 없이 동작하는지 알려주시면 기쁘겠습니다.

이희승 드림
> 더 많은 옵션을 보려면 https://groups.google.com/groups/opt_out을 (를)
--
Google 그룹스 'Netty Korean User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 netty-ko+u...@googlegroups.com에 이메일을 보내세요.
더 많은 옵션을 보려면 https://groups.google.com /groups/opt_out을(를) 방문하세요.
Reply all
Reply to author
Forward
0 new messages