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

android udp 대용량 센서 데이터 통신

0 추천
이번에 udp로 센서 데이터 받는 앱을 만들어야하는데요

서버에서 보내는 데이터가 한 패킷에 1200bytes씩

초당 700~1000개 정도 됩니다.

양이 상당히 방대한데

 

지금 테스트로 작성한 코드는

데이터를 1초에 50~70개 정도밖에 못받아오고 있어서요 .. (galaxy s9+기준)

 

무선네트워크 + 안드로이드 단말기로

구현이 가능할지 ..

만약 가능하다면 힌트좀 주시면 감사하겠습니다 ㅠㅠ
익명사용자 님이 2018년 8월 20일 질문

1개의 답변

0 추천

setReceiveBufferSize  를 통해 소켓 버퍼 사이즈를  늘려보세요.

사이즈 설정이 적을 경우 버퍼를 못 채우고 udp 데이터가 버려져서, 

실제 데이터를 많이 받지 못 합니다.

익명사용자 님이 2018년 8월 20일 답변
감사합니다

근데 결과는 똑같네요 .. ㅠㅠ 버퍼 문제가 아닌듯해요
UDP 데이터 받는 곳에서 다른 연산도 처리하시나요?
한큐에서 데이터를 받아 가공할 경우 데이터 가공하는 시간이 오래 걸려, 그 다음 데이터를 제대로 못 받을 수 있습니다.

 FIFO Queue 같은 것을 만들어서,
UDP 데이터 받는 Thread에서는 Queue에 쌓기만하고, 다른 Thread에서 Queue 데이터를 받아가서 사용하도록 변경 해 보세요..

https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/udp.c
...