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

소켓 통신에서 데이터 검사

0 추천
소켓 통신에서 데이터 검사를 어떤식으로 하는지 궁금합니다.

데이터 검사하는 부분에 대해서는, 소켓 통신 예제도 그렇고, 인터넷에서 구경하기 쉽지 않은데

다른 분들께서는 소켓 통신에서 데이터 검사를 하고 계신지 궁금합니다.

보내는쪽에서 안드로이드로 보낸 데이터를 읽어서 쓰고만 있는데,

프로토콜, 체크섬, 패리티 설정하는 부분은 통신 단계에서 설정하거나 신경쓰고 있지 않은 느낌입니다.

프로그래머가 직접 읽은 데이터를 가지고 확인해서 맞지 않으면 다시 요청해야 될까요?

다른 분들은 어떻게 하시는지 궁금합니다.
익명사용자 님이 2016년 8월 5일 질문

1개의 답변

+1 추천
소켓이라고 하면 단순 API 레벨입니다. 소켓으로 TCP통신이될수도 있고 UDP통신이 될 수도 있습니다.

일단 TCP 통신은 프로토콜 자체에 이미 작성자님께서 걱정하시는 부분은 처리를 하고 있습니다.

데이터 유실이나 손실은 이미 전송계층에서 처리하기 때문에 어플리케이션 레벨에서 신경써야 할 부분이 아닙니다.

어플리케이션에서 신경써야 할 부분은 Connection 관련해서만 예외 처리하고 혹시 송신쪽에서 잘못된 데이터를 보낼수도 있으니 이에 대한 예외처리 정도만 생각하면 됩니다.

 

UDP 통신도 어느정도 오류 검출은 하는것으로 알고 있습니다. 다만 TCP와 다르게 TCP는 전송계층에서 누락이나 오류시 재요청하는 부분이 있지만 UDP는 데이터 오류시 어플리케이션레벨로 보내주지않고 누락시켜 버립니다.

그러므로 UDP는 Connection이랑 데이터 누락부분만 신경쓰면되고 데이터 손실에 대해서는 따로 생각 안하셔도 될거 같습니다.
Development Guy (70,570 포인트) 님이 2016년 8월 9일 답변
...