본문 바로가기

socket

Node.js Socket Programming (2) 이번 챕터는 레거시 시스템 어플리케이션에서 프로토콜을 정의하는 일반적인 방식에 대해 기술합니다. 지금은 HTTP 기반의 JSON Format처럼 String형태로 데이터를 주고받는게 일반적이지만 과거에는 Network나 System Overhead를 최대한 줄이기 위해 Binary형태로 데이터를 주고 받았습니다. TLV Encoding이 가장 흔하게 사용됩니다. TLV Encoding TLV(Type-Length-Value) 인코딩은 효율적이고 유연한 방식으로 구조화된 데이터를 인코딩하는 데 사용되는 방법입니다. 네트워크를 통해 또는 서로 다른 시스템 간에 데이터를 전송해야 하는 통신 프로토콜에서 일반적으로 사용됩니다. TLV 인코딩을 사용하려면 다음 단계를 따라야 합니다. 데이터 구조 정의: TLV를 .. 더보기
Node.js Socket Programming (1) 이번 시리즈는 Node.js에서 TCP/UDP/Websocket등을 활용한 실시간 통신 구현방안에 대해 소개하고자 합니다. 최근에는 Restful API가 트렌드로 자리잡으면서 주로 HTTP기반으로 통신하며 주고받는 컨텐츠만 고려하도록 (Low Level단에서 벌어지는 일은 신경쓰지 않아도 되는)해주는 좋은 라이브러리들이 많이 있습니다. TCP/IP, UDP를 직접 다루는것은 Low Level 작업으로 인식합니다. 하지만 레거시 시스템에서는 아직도 HTTP가 아닌 TCP/IP나 UDP기반의 Custom프로토콜을 정의하여 구현된 것이 대부분이고 이러한 장비나 시스템과 연동하기 위해서는 여전히 소켓 프로그램에 대한 기본 지식이 있어야 합니다. 기본개념에 대해서는 인터넷상에 좋은 자료들이 많이 있기 떄문에 여.. 더보기