[아두이노#351] (tcp/udp #4) TCP통신으로 JSON을 이용한 데이터 전달 전략구현하기!(feat. C#윈폼/녹칸다/포로리야공대가자)
프로그래밍/TCP&UDP 2021. 9. 16. 23:35
https://www.youtube.com/watch?v=P7VuJZHimuk
(tcp/udp #4) TCP통신으로 JSON을 이용한 데이터 전달 전략구현하기!(feat. C#윈폼/녹칸다/포로리야공대가자)
녹칸다의 TCP, UDP통신을 위한 시리즈이다!
주요 내용은 인터넷에 접속가능한 사물인터넷보드(wemos d1r1)에서 생산된 정보나 제어를 하기 위해서 TCP, UDP통신을 사용해보는 것이다!
기존 녹칸다의 예제에서는 HTTP통신이나 MQTT를 주요내용으로 하였으나 상황에 따라서 TCP, UDP통신을 활용해야 할 때도 있다!
무엇을 사용하는게 옳냐기 보다는 상황에 따라 적절한 방식을 적용할 필요가 있다!(사실 녹칸다도 잘 모르는 분야임)
인터넷 통신은 기본적으로 서버와 클라이언트간의 통신이다!
이때 TCP통신은 서버와 클라이언트의 연결을 담보로 하고 진행되는 통신이고 UDP는 네트워크 안에 있는 디바이스들 끼리 수신자와 발신자의 정보를 이용해서 연결하지 않고 주고받는 방식이다!
그러므로 TCP통신은 서버와 클라이언트가 구체적인 반면 UDP는 서버와 클라이언트의 경계가 모호하다!
아무튼 기본 설명은 이정도로만 달아놓고 자세한 내용은 영상으로 남겨보도록 하자!
이번편에서는 (1~3)편의 내용을 기초로 해서 상호간에 주고받는 데이터에 구조를 조금더 강화시켜보는 편이다!
단순한 text데이터를 전달하게 되면 송수신단에서 데이터를 처리하는게 대체로 번거롭다!
그래서 가장 일반적으로 사용하는 구조가 있는 text인 JSON을 활용하도록 한다!
사물인터넷보드도 JSON파서가 구현되어있고 C#윈폼도 그러하다!
분명 JSON을 활용하면 편리한 부분이 있을 것이다!
아래와 같은 순서로 진행해보도록 하자!
1.사물인터넷보드에 LED 4개를 연결하고 C#윈폼에서 보낸 JSON에 의해 개별 제어 되도록 하라!(LED의 상태가 C#윈폼에 반영되도록 하라)
2.기타등등
(사물인터넷보드/wemos d1r1용코드/TCP클라이언트)
(▼보드만 있으면 됨!)
(C#윈폼 프로젝트/TCP서버)