안녕하세요 직비를 이용한 간단한 통신을 구현하고 있는데 막히는게 있습니다.

조회수 382회

평소 소켓 프로그래밍은 hello 보내는 정도만 해본 수준이라.. 어떻게 나아가야 할지 조언을 받고자 글을 작성합니다.

직비 모듈에서 다른 직비 모듈로 2000bit 데이터를 보내는 것을 목표로 하고 있습니다만, 직비 모듈의 최대 데이터 페이로드가 73byte라서, 패킷을 쪼개서 보내야 하는 상황입니다.

직비 모듈에 대해 공부를 하고, 바이트형 데이터만 넣으면 송, 수신 프레임에 맞게 패킷을 보내는 것 까지는 구현을 해놨습니다.

하지만 소켓 프로그래밍? 관련 지식이 너무나 적어서 데이터를 어떻게 쪼개서 보내야할지 감이 안잡힙니다.

지금 해본것은 73byte의 payload 중 69byte를 data field로 임의로 두고, 1byte를 제 임의의 frame type, 1byte를 sequence, 2byte를 id field로 설정해놨습니다.

frame type에 따라서 들어온 데이터가 어떤 역할을 해야 하는 데이터인지를 분류하고, sequence를 보고 받은 데이터의 순서를 기록하고, id를 보고 여러 모듈에서 데이터를 보내도 구분을 할 수 있게끔 코딩을 했습니다.

하지만, 끝마치고 보니 직접 코드를 짠 제가 봐도 너무 지저분해 보입니다. 가독성도 상당히 떨어지고요, if문이 코드에 덕지덕지 붙어서 보기가 너무 안좋네요.

어떤 식으로 접근을 해야 하나요?

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

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

(ಠ_ಠ)
(ಠ‿ಠ)