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

android socket 통신 질문드립니다.

0 추천
안드로이드(클라이언트) 에서 소켓통신할때 버튼을 누를시에 데이터를 보내고 있습니다.

근데 문제는 버튼을 빠르게 계속 누르면 데이터가 전송이 안되는 현상이 생깁니다.

이 현상을 해결할려면 output쪽도 thread로 구현을 해줘야하나요??

socket연결부분은 thread로 구현했습니다. 즉, 멀티쓰레드를 해야하는지요?
우랴 (3,680 포인트) 님이 2015년 3월 18일 질문

1개의 답변

0 추천
받을 쪽이 준비가 안되어 있는데 보내는쪽에서 마구 보내면..데이터가 난리 나겠지요

받는쪽을 순환식큐 방식으로 처리하고 stx etx같은 구분자를 보내면 받는쪽에서 그 구분자로 시작위치를

알수 있고 순환식큐 방식으로 돌게끔 프로그램을 구현해주시면되어요..

 

-----

 

doridori2013@nate.com
익명사용자 님이 2015년 3월 18일 답변
당연히 알고 계시겠지만 stx와 etx만 보내면 안됩니다.
보내는 내용내에 stx와 etx에 해당하는 (보통0x02, 0x03 으로 사용하고 있긴 하지만요)값이 데이터 값에 포함 될 수 있어 길이까지 프로토콜 내용에 포함해야하지 않을까 합니다.
더불어 안정성까지 보장하시려면 체크썸 까지 추가 하는 방법도 있습니다.
패킷을 체크섬과 비교하여 다르면 다시 요청 할수 있게요..
...