네트워크 데이터 처리 할때?

조회수 761회

C#이나 자바 등으로 네트워크 프로그램을 한번씩 짜는데요 보낼때는 상관없는데 받을때 처리가 좀 많이 헷갈리네요

만약 보낼때 10000 개의 데이터를 보낸다고 했을때

이걸 한번에 못받을 가능성이 꽤 높잖아요 이럴때는 나눠서 받아서 전부 다 받았을 경우 프로토콜 체크 하든지 해야 되는데 이럴때 보통 어떻게 처리하는지 궁금합니다

다른 분들 보니까 그냥 한꺼번에 다 받게 처리를 하는 경우가 많던데 (이럴 경우 한번에 다 못받으면 에러잖아요)

제가 쓰는 방법은

  1. 처음에 데이터 사이즈를 보내고 그만큼 들어왔는지 확인해서 보낸 데이터를 다 받고 처리 하는 방법
  2. 들어오는 데이터를 변수에 담은 다음 끝 데이터가 ETX인지 확인하고 ETX가 아닐경우 이어서 데이터를 받고 ETX일 경우 데이터를 완성해서 버퍼 변수에 옮겨 담는 방법(STX도 처음에 한번 체크합니다)

이런 방법을 쓰는데 왠지 편법 같다는 생각이 들어서요 좀 더 고급스러운 방법 없을까요? 조언 부탁드립니다 감사합니다^

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 프로토콜을 잘 설계해야죠 결국 설계영역으로 넘어가는 것이라 이곳에 길게 적긴 어렵고 오픈소스 메신저 프로그램 같은 것 분석해보세요. 정영훈 2018.2.21 14:52

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)