Delphi & C++ Builder WebSocket 라이브러리 — 비교 가이드
2026년 Delphi 및 C++ Builder 개발자가 선택할 수 있는 WebSocket 라이브러리를 출처와 함께 중립적으로 살펴봐요: sgcWebSockets, Indy, ICS, TMS FNC WebSocket, mORMot 2, 독립 MQTT 라이브러리. 모든 기능 주장은 해당 프로젝트의 공식 문서로 연결돼요.
2026년 Delphi 및 C++ Builder 개발자가 선택할 수 있는 WebSocket 라이브러리를 출처와 함께 중립적으로 살펴봐요: sgcWebSockets, Indy, ICS, TMS FNC WebSocket, mORMot 2, 독립 MQTT 라이브러리. 모든 기능 주장은 해당 프로젝트의 공식 문서로 연결돼요.
각 라이브러리에 대한 한 문단 요약과 공식 문서 링크. 자세한 비교는 아래 매트릭스에 있어요.
eSeGeCe · 상용
WebSocket 클라이언트 및 서버, HTTP/2, MQTT, AMQP, STOMP, WAMP, SSE, WebRTC, IoT 브로커, AI/LLM 클라이언트, 30개 이상의 서드파티 API 통합을 다루는 상용 Delphi / C++ Builder 컴포넌트 모음. Delphi 7부터 Delphi 13까지, C++ Builder 2007부터 13까지 지원해요.
Indy Working Group / Remy Lebeau · BSD / MPL (오픈 소스)
최근 RAD Studio 설치에 모두 번들된 오픈 소스 TCP/UDP/원시 소켓 라이브러리. 120개 이상의 상위 프로토콜 클라이언트 및 서버(HTTP, SMTP, POP3, IMAP, FTP, NNTP, IRC 등)를 제공하지만 네이티브 WebSocket 클라이언트나 서버는 포함하지 않아요 — 사용자는 보통 TIdHTTP / TIdHTTPServer 위에 서드파티 WebSocket 애드온을 추가해요.
François Piette / Magenta Systems Ltd · 무료, 소스 공개
François Piette가 만든 오픈 소스 Delphi / C++ Builder 네트워킹 라이브러리. WebSocket 지원은 ICS V9.0에서 TSslWebSocketCli(OverbyteIcsWebSocketCli 내)와 기존 ICS 웹 서버 위의 서버 클래스 THttpWSSrvConn으로 추가됐어요.
TMS Software · 상용
TMS Software는 두 가지 관련 제품을 제공해요. TMS Sparkle은 크로스플랫폼 HTTP 클라이언트 / 서버 프레임워크예요(TMS XData와 TMS RemoteDB 내부에서도 사용돼요). TMS FNC WebSocket은 RFC 6455를 구현하는 별도의 VCL + FireMonkey WebSocket 클라이언트 및 서버 쌍이에요.
Arnaud Bouchez / Synopse · MPL / GPL / LGPL (오픈 소스)
비동기 HTTP 및 WebSocket 서버, REST/JSON, OpenAPI / Swagger, LDAP, DNS, ACME, 암호화 기본 요소를 갖춘 오픈 소스 Object Pascal SOA / ORM / MVC 프레임워크. Delphi 서버 유닛은 Windows만 지원해요. FPC(Free Pascal)는 Linux, BSD, macOS용으로 동일한 서버 코드를 빌드해요. 모바일 클라이언트는 모든 플랫폼에서 지원돼요.
다양한 커뮤니티 작성자 · 다양 (보통 MIT / BSD / Apache)
GitHub에 Delphi용 단일 목적 MQTT 클라이언트가 다수 게시돼 있어요. 보통 MQTT 3.1.1 클라이언트 측만 다루며 MQTT 5.0 서버, AMQP, STOMP, WAMP를 포함하지 않고 개별 작성자가 유지 관리해요.
체크()는 프로젝트가 네이티브 지원을 문서화함을 의미해요. 대시(—)는 프로젝트가 네이티브로 제공하지 않음을 의미해요. 물결표(~)는 부분적 / 애드온 경유 / 명시적으로 문서화되지 않음을 의미해요 — 검증할 수 있었던 내용은 출처 섹션을 참고하세요.
| 기능 | sgcWebSockets | Indy (Internet Direct) | ICS (Internet Component Suite) | TMS FNC WebSocket / TMS Sparkle | mORMot 2 | 독립 MQTT 전용 라이브러리 |
|---|---|---|---|---|---|---|
| WebSocket 클라이언트 RFC 6455 클라이언트 | ~ | — | ||||
| WebSocket 서버 RFC 6455 서버 | ~ | — | ||||
| TLS 1.3 제공된 전송에서 TLS 1.3 지원 | ~ | ~ | ||||
| HTTP/2 클라이언트 네이티브 HTTP/2 클라이언트 (RFC 7540 / 9113) | — | — | ~ | — | — | |
| MQTT MQTT 3.1.1 / 5.0 클라이언트 내장 | — | ~ | ~ | — | ||
| AMQP AMQP 0.9.1 / 1.0 클라이언트 내장 | — | — | — | — | — | |
| STOMP STOMP 1.0 / 1.2 클라이언트 내장 | — | — | — | — | — | |
| WAMP WAMP v1 / v2 클라이언트 내장 | — | — | — | — | — | |
| 서버 푸시 / 스트리밍 장시간 푸시 또는 스트리밍 연결 | ~ | ~ | ~ | |||
| 자동 재연결 내장 클라이언트 자동 재연결 / WatchDog | — | ~ | ~ | ~ | ~ | |
| per-message-deflate (RFC 7692) WebSocket 압축 확장 | — | ~ | ~ | ~ | — | |
| 멀티 플랫폼 Windows / macOS / Linux / iOS / Android | ~ | ~ | ||||
| 상용 사용 허용 라이선스가 폐쇄형 상용 사용을 허용 | ||||||
| 소스 코드 사용 가능 라이브러리 소스를 개발자가 볼 수 있음 | ||||||
| 활발한 유지보수 지난 12–18개월 동안 릴리스 또는 태그 활동 | ~ | ~ | ||||
| 라이선스 모델 라이선스 유형 | 상용 | BSD / MPL (오픈 소스) | 무료, 소스 공개 | 상용 | MPL / GPL / LGPL (오픈 소스) | 다양 (보통 MIT / BSD / Apache) |
위 라이브러리 중 하나에서 전환할 때 API 및 기능 차이에 대한 간단한 메모. 적대적이지 않은 — 실용적인 매핑일 뿐이에요.
Indy는 원시 HTTP 및 TCP 배관을 제공해요. sgcWebSockets는 WebSocket 프레이밍, ping/pong, 자동 재연결, 하위 프로토콜(MQTT/AMQP/STOMP/WAMP), per-message-deflate를 내장으로 제공해요. 오늘날 Indy 기반 HTTP 서버를 운영한다면 sgcWebSockets는 Indy에 플러그인하는 대신 별도의 TsgcWebSocketHTTPServer를 제공해요 — 기존 HTTP 라우트는 sgc 서버에서 재구현하거나 서로 다른 포트에서 나란히 실행해야 해요.
두 라이브러리 모두 WebSocket 클라이언트와 WebSocket-over-HTTP 서버를 노출해요. 명명된 메시징 프로토콜(MQTT, AMQP, STOMP, WAMP)과 AI/LLM 및 거래소 API 클라이언트는 sgcWebSockets 전용이에요. 현재 WebSocket 라우트가 있는 ICS 웹 서버를 운영한다면 sgcWebSockets는 드롭인 HTTP+WS 호스트로 TsgcWebSocketHTTPServer를 제공하지만 라우트 등록 API는 달라요.
sgcWebSockets와 TMS FNC WebSocket 모두 RFC 6455 클라이언트 및 서버를 구현해요. 컴포넌트 클래스를 교체하고 이벤트를 재연결해 마이그레이션하세요. 그 위에 구축된 프로토콜 계층(MQTT, AMQP, STOMP, WAMP), HTTP/2 클라이언트 및 서버, 30개 이상의 서드파티 API 통합은 sgcWebSockets 전용이에요. TMS MQTT를 별도로 사용한다면 sgcWebSockets는 동일한 모음에 MQTT를 번들해요.
mORMot 2는 SOA 계층 안에 WebSocket을 래핑해요. sgcWebSockets는 어떤 Delphi 프로젝트에도 드롭할 수 있는 독립형 WebSocket / HTTP/2 / MQTT / AMQP / STOMP / WAMP 컴포넌트를 제공해요. 애플리케이션이 mORMot 2의 ORM 및 SOA 기능을 사용한다면 sgcWebSockets로 전환하는 것은 SOA 계층을 재구현하는 것을 의미해요. WebSocket 전송에만 mORMot 2를 사용했다면 sgcWebSockets가 더 가까운 1대1 교체예요.
현재 독립 MQTT 전용 라이브러리를 사용하고 있고 WebSocket, HTTP/2, AMQP, AI/LLM API 클라이언트를 추가하기 시작한다면 sgcWebSockets는 이 모든 것을 단일 라이선스와 단일 업데이트 채널로 하나의 모음에 통합해요.
위 매트릭스의 각 셀은 이 공식 문서 페이지, 저장소, 또는 릴리스 노트 중 하나로 거슬러 올라가요. 작성 시점에 모든 URL은 HEAD 체크되었어요.