마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

NIO를 이용해서 여러 메시지를 수신시...

0 추천
안드로이드 클라이언트와 윈도우 서버와 통신하는 앱을 만들고 있는데...

연결을 잘되고... 메시지 주고 받는 것도 잘 되는데...

문제는 서버에서 클라이언트로 메시지를 2~3개 연달아 보내면,

클라이언트에서는 1개의 메시지만 받네요.

메시지를 천천히 1개씩 보내면, 다 받는데,

왜 연달아 보내면 받지를 못하는지를 모르겠네요.

메시지받을 때는

ByteBuffer readBuffer = ByteBuffer.allocate(4);

먼저 4바이트를 읽어서, 메시지의 크기를 읽고..

ByteBuffer readBuffer = ByteBuffer.allocate(dataSize);

메시지 크기만큼 다시 읽는데요...

혹시 메시지 크기만큼 읽어서, 소켓 버퍼에 저장을 못하는 건가 싶어서...

ByteBuffer readBuffer = ByteBuffer.allocate(8192);

메시지가 10개도 들어갈만큼 크게 읽어들여도, 메시지가 1개 밖에 안들어가네요.

1개 읽은 이후에는

selector.select();

에서도 더이상 반응이 없고요.

이럴때는 어떤 부분을 살펴봐야 할까요. ㅠ.ㅠ
mg2000 (2,640 포인트) 님이 2015년 9월 4일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...