안드로이드 클라이언트와 윈도우 서버와 통신하는 앱을 만들고 있는데...
연결을 잘되고... 메시지 주고 받는 것도 잘 되는데...
문제는 서버에서 클라이언트로 메시지를 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();
에서도 더이상 반응이 없고요.
이럴때는 어떤 부분을 살펴봐야 할까요. ㅠ.ㅠ