Q&A 게시판

cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

udp 통신입니다.

Solved!
Go to solution

안녕하세요 이번에 udp 통신을 해야하는데 데이터를 제가 udp 함수에 직접 쓰기로 넣어서 명령어를 장비에 넣을것입니다. 그런데 제가 데이터 형식을 지켰음에도 불구하고 udp 체계에 대해 잘 이해가안가고 모르겠습니다. 예제 중에 simple udp도 있는데, 이러한 체계들이 잡혀있는데 정확히 간단한 설명 부탁드립니다!!ㅠㅠ

0 Kudos
Message 1 of 8
(454 Views)

혹시 해당 예제를 직접 실행 해 보시고 어떤 문제나 발생했나요? 어디 부분에 이해 안 가시나요?

0 Kudos
Message 2 of 8
(428 Views)

감사합니다!! 다름이 아니라, 예제 중에 simple udp라는 프로젝트가 있습니다. 거기서 저는 sender부분에, 처음 와일 들어가기 전에 선언하는부분의 포트를 서로 통신할 포트로 지정하고, 와일안에 들어가는포트와 ip주소를 명령어를 보낼 장비의 주소와 포트를 넣었습니다. 즉, 쓰기 함수에다가 목적지에 대한 정보를 넣은 것이지요, 그렇고 receive쪽에는 통신할 포트만 넣었습니다. 그러더니 통신은 잘 되는데 제가 한 것이 맞는지는 모르겠네요...퓨ㅠㅠㅠㅠ

0 Kudos
Message 3 of 8
(421 Views)

말씀하신대로 설정하는 것이 맞습니다.

Sender 쪽에서 사용하는 UDP open function에서 Port 값은 데이터를 전송하는데 사용하는 port 정보이며 remote port 정보와 address는 Receiver의 네트워크 정보를 의미합니다.

마찬가지로 Receiver 쪽에서 설정하는 UDP open function의 경우 Receiver가 수신된 packet이 있는지를 모니터링 하는 port 정보로 생각하시면 좋을 것 같습니다.

따라서 Sender 에서 사용하는 Target remote port와 Receiver에서 사용하는 모니터링 포트가 동일해야 Receiver에서 제대로 Packet을 수신할 수 있을 것입니다.

0 Kudos
Message 4 of 8
(410 Views)

고맙습니다!! 근데 질문이있습니다.

이번에는 수신하는 쪽에서 질문입니다. 리시버로 데이터를 수신하게 되면 센더에 해당하는 응답이 나오는 거라고 생각을 합니다. 그렇지만 지금 현상이 센더로 들어간 명령어가 리시버 데이터 출력에서 그대로 출력이 됩니다. 응답 메세지가 아닌 명령어 그대로가 출력이 되어서 데이터를 어찌 받아들여야 할지를 모르겠네요ㅠㅠㅠ ni에 문의하고 했더니 연결, 포트 선언들에서는 문제가 없다고 하던데.. 무슨 문제일까요..... 데이터가 응답 데이터가 아닌 센더를 통해 써지는 데이터입니다.

0 Kudos
Message 5 of 8
(404 Views)
Solution
Accepted by topic author Emily12
02-25-2019 05:29 PM

말씀하신 예제를 기반으로 설명을 드리면 Receiver에서 수신하는 Packet은 Sender에서 전송하는 데이터가 맞습니다. 

예제로 제공하는 Sender 블럭다이어그램을 조금 수정하면 다음과 같은 결과를 확인할 수 있습니다.

capture.PNG좌: Sender, 우: Receiver

 

Message 6 of 8
(397 Views)
Highlighted

댓글 감사합니다. 저는 여기서 명령어 그대로가 아닌 명령어에 대한 응답을 수신받고싶습니다ㅠㅠ

0 Kudos
Message 7 of 8
(390 Views)
Solution
Accepted by topic author Emily12
02-25-2019 05:29 PM

위에서 말씀하신 예제에서 Sender 가 보내는 데이터를 명령어라고 생각했을 때 Receiver 가 받는 것은 해당 명령어 자체가 될 것입니다.

따라서 Receiver에서 명령어를 해석해서 특정 동작을 수행해야하는 로직이 추가로 필요하게 될 것입니다.

추가로 Reciver에서 받은 데이터(or 명령어)에 대한 응답을 다시 Sender로 보내야한다면 이를 수행하는 코드를 추가로 구현하셔야 합니다.

이 경우 위에서 언급한 예제를 기반으로 구현이 가능할 것입니다.

 

0 Kudos
Message 8 of 8
(387 Views)