본문 바로가기

websocket

Node.js Socket Programming (4) 이번 챕터에서는 Socket.io라이브러리에 대해 소개합니다. Socket.io란? Socket.io는 WebSocket 연결을 통해 클라이언트와 서버 간에 실시간 양방향 통신 채널을 제공하는 라이브러리입니다. 채팅 응용 프로그램, 멀티플레이어 게임 및 공동 편집 도구와 같은 실시간 응용 프로그램을 개발하는 데 아주 유용한데 특히 채팅 서버 구현에 특화된 기능을 제공합니다. Room 기능을 사용하면 1:1, 1:N을 대상으로 하는 메시지전송 기능을 쉽게 구현할 수 있으며 Broad Casting을 기능을 사용하여 메시지를 사용하면 서버가 연결된 모든 클라이언트 또는 특정 클라이언트 그룹에만 메시지를 보낼 수 있습니다. 지원 플랫폼 Socket.io는 데스크톱 및 모바일 브라우저를 포함한 다양한 웹 브라우.. 더보기
Node.js Socket Programming (3) 이번 챕터에서는 Node.js에서 WebSocket서버와 클라이언트 구현 방법에 대해 소개합니다. WebSocket은 TCP 기반의 실시간 통신 프로토콜로 Request and Response모델인 HTTP와 달리 지속적인 연결을 통해 클라이언트와 서버 간의 대화식 통신을 가능하게 합니다. WebSocket이 널리 사용되면서 기존에 웹에서 비효율적인 실시간 통신이 데스크탑 어플리케이션 수준으로 높아지게 되었습니다. WebSocket은 웹 브라우저와 웹 서버에서 구현되도록 설계되었지만 클라이언트와 서버 간의 실시간 통신이 필요한 모든 응용 프로그램 및 모바일 웹과 모바일 어플리케이션에까지 많이 사용하는 추세입니다. 채팅 응용 프로그램, 온라인 게임 및 금융 거래 플랫폼과 같이 실시간 업데이트 또는 실시간 .. 더보기
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프로토콜을 정의하여 구현된 것이 대부분이고 이러한 장비나 시스템과 연동하기 위해서는 여전히 소켓 프로그램에 대한 기본 지식이 있어야 합니다. 기본개념에 대해서는 인터넷상에 좋은 자료들이 많이 있기 떄문에 여.. 더보기