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

안드로이드 블루투스 데이터 통신에 관한 질문입니다.

0 추천
구글 예제로

 

마스터 단말기 쪽에서 블루투스 검색을 하고

연결을 만들어 데이터를 보내고 데이터를 받는 코드는 검색을 통해 많이 본거 같습니다.

http://blog.naver.com/PostView.nhn?blogId=2hyoin&logNo=220391696574

 

근데 마스터의 반대쪽, 페어링 된 단말기에서는 데이터 발신을 어떻게 해야 하나요? 마스터쪽에서

특정 쿼리를 던저 주는건가요? 쿼리나 질문을 던져도 그걸 처리하는 프로그램이 있어야 마스터에서 발신을 해도 답신을 할수 있지 않을까요?

조금 이해가 안되네요

구조가 헷깔립니다. ㅠㅠ
익명사용자 님이 2017년 5월 16일 질문

1개의 답변

0 추천
우선 블루투스 똑떼고, 소켓 프로그래밍 생각하시면됩니다.

 

서버소켓과 클라이언트 소켓이 최초 연결이 이루어지면

OutputStream과 InputStream 을 얻을수 있는데

OutputStream은 데이터를 입력받는 통로이고

InputStream은 데이터를 입력하는 통로입니다.

 

이것을 블루투스에서는 블루투스 전용 소켓이 있습니다. 마찬가지로 소켓연결이 이루어진뒤로는

위와 같이 스트림으로 바이너리 데이터를 주고 받으며 통신을 할 수 있습니다.
Charlesz (4,420 포인트) 님이 2017년 5월 18일 답변
네 소켓으로 주고 받는것 까지는 코드를 보고 대충 그럴꺼라 생각했는데요.

어느 부분이 수신하는 부분인지는 잘 모르겠네요

위 예제에서는 beginListenForData인거 같은데 마스터(즉 블루투스 기기를 검색하고 접속하는 단말기)부분의 코드이고 접속을 당하는 부분(기기검색을 통해 검색당한 단말기)에서 마스터쪽에서 보낸 stream을 어떻게 받아서 처리 해야하는지 잘 모르겠습니다.
소켓프로그래밍을 따로 배우진 않아서....
이 부분에 대해서 링크나 보고 배울 만한 정보를 주시면 혼자 독학으로 공부할만한 뭔가 될꺼 같습니다.
이럴꺼면 댓글달지 마시길

도움도 안되고 대충갈켜줘서 암것도 안되고

댓글에 답도 안해주고

이럴꺼면 하지마세요
"네 소켓으로 주고 받는것 까지는 코드를 보고 대충 그럴꺼라 생각했는데요."

모르는게 있으면 예를 갖추고 물어야지 그런것도 아니면서  
알려줬더니 뭐요? 시발? 소켓 알지 못하면서 아는척하지마세요.
어디 면전앞에서도 그런소리 할 수 있나 봅시다.
소켓에 대해서 모르면 소켓에 대해서 공부를 하세요

https://www.google.com.au/?gws_rd=ssl#newwindow=1&q=소켓+프로그래밍

outputstream으로 부터 read($버퍼)를 하게 되면 $버퍼에 바이너리데이터가 들어옵니다.
그 바이너리 데이터가 님이 원하시는 수.신. 되어진 부분입니다.
기껏 구글에 소켓프로그래밍 검색한거 링크로 달아놓고 한다는 소리가 이런소린지 참 ㅋㅋㅋㅋㅋㅋㅋㅋ
무슨 네이버 지식인인줄 아시나 ㅋㅋㅋㅋㅋ 저렇게 달아놓고 대단하시네요 ㅋㅋㅋㅋㅋㅋ 질문에 올려놓은 링크도 들어가보지도 않은거 같고 ㅋㅋ 대충 읽어보고 대충 답변달아놓고 무슨소리를 듣고 싶으셨던건지 ㅋㅋㅋㅋㅋ
소켓공부하시라구요 소스를 봐도이해가안가면
답답하시네

Read함수가 바이너리 읽어들이는 부분이라고 알려줘도 못알아먹으니
옹졸하게 욕한부분만 댓글 수정하고 잠수 타셨나

배우고 싶으면 연락할 연락처 남겨요. 시간내서 알려줄테니까

그럴용기도 없으면서 익명성뒤에서 쉐도우복싱이나 하지말고
;;; 어휴 진짜;; read함수가 바이너리 읽는 부분인지는 안다고 위에 적어놨잖아요;;
연결당하는 쪽에서 그걸 이용하려면 어떻게 해야 하는지를 물어본거지 블루투스 연결할때마다 소켓도 달라지고 어떻게 연결받은쪽에서 연결에 반응해서 데이터를 받아야 하는건지 물어본건데(아두이노라면 serial.event나 available같은거)
계속 동문서답하시고 이상한 링크주시고 대충 갈켜줘놓고 무슨 큰소리인지
제가 빡치는건 님이 질문글도 제대로 안 읽어 봤다는거 그것도 제가 올린 두개의 질문 다  그렇게 대충 갈켜줄꺼면 하지를 말라는 거죠
잘못해놓고 무슨 큰소리인지

그리고 님이 대충대충 갈켜줄 동안 다른 코드 찾아서 분석해서 해결했습니다. 샘플은 handler사용했는데 이해를 못 하겟고 다른코드에서 쓴걸로 해결했네요.

익명성은 무슨 님에 제 앞에 있어도 이따구로 뭐 물어보는지 이해도 못하고 대충대충 가르쳐줄꺼면 꺼지라고 했겟네요ㅋㅋㅋㅋㅋ
그리고 쉐도우 복싱이란 말은 이럴때 쓰는 말이 아닙니다ㅋㅋㅋㅋ 혼자 대상없이 싸울때 하는 말이겠죠ㅋㅋㅋ
...