안녕하세요. 부스트 asio 라이브러리 이용하여 서버 프로그램 작성중에 막히는 부분이 있어 질문 올립니다.
우선, 세 개 노트북들을 공유기에 각각 이더넷으로 연결해서 MavLink 메시지를 중계하는 기능을 만들고 있습니다.
A의 주소는 192.168.137.16 이며, UDP 10000번 포트를 통해 17바이트의 데이터(MavLink 패킷)를 같은 랜 내의 192.168.137.3:10000(UDP) 주소로 보냅니다.
B의 주소는 192.168.137.3 이며, 10000번 포트(UDP)와 12001번 포트(UDP)를 열어두고 있습니다.
A로부터 받은 데이터를 C로 중계합니다.
C의 주소는 192.168.137.33 이며, B로부터 A의 데이터를 중계받아 처리합니다.
문제는 B가 A로부터 데이터를 정상적으로 받은 후에, C로 송신할 때 입니다.
A->B는 패킷이 정상적으로 UDP 프로토콜로 처리가 되지만, B->C는 프로토콜 인식이 ISO 또는 LLC로 되어버립니다.