Delphi 제품과 동일한 컴포넌트 스위트를 동일한 클래스 이름과 동일한 이벤트 기반 API로 C#에 이식했어요.
.NET WebSocket 라이브러리는 와이어 프로토콜 이상을 다뤄야 해요. System.Net.WebSockets는 RFC 6455 프레이밍을 제공해요; sgcWebSockets .NET은 그 위에 프로덕션 애플리케이션에 필요한 것을 더해요: TCP 또는 HTTP.SYS(IIS와 포트 공유)에서 실행되는 서버, watchdog 자동 재연결과 하트비트가 있는 클라이언트, 메시지 큐잉, 프록시 및 인증 지원, 그리고 별도의 의존성 셋을 더 가져와야 했을 메시징 서브 프로토콜(MQTT, AMQP, STOMP, WAMP)까지.
대상 프레임워크 범위가 이례적으로 넓어요: Windows, Linux, macOS에서 .NET Framework 2.0–4.8.1, .NET Core 1.0–3.1, .NET 5/6/7/8/9 및 .NET Standard 1.6/2.0. 레거시 WinForms 애플리케이션과 최신 ASP.NET Core 서비스가 동일한 패키지와 동일한 코드를 사용해요.
TsgcWebSocketClient: TLS, 프록시, 하트비트, watchdog을 갖춘 RFC 6455 클라이언트
TsgcWebSocketHTTPServer: HTTP.SYS 위의 WebSocket + HTTP 서버, 포트 공유, SSL/TLS
esegece.sgcWebSockets: 모든 .NET 대상용으로 nuget.org에서 설치
Windows, Linux 64비트, macOS 64비트용 무료 다운로드 (시작 알림 포함)
직접 만들어야 했을 부분들이 이미 상자 안에 들어 있어요.
양쪽 모두 RFC 6455, per-message-deflate 압축 (RFC 7692) 및 제공된 전송에서 TLS 1.3까지 지원.
클라이언트의 WatchDog과 HeartBeat 속성이 장기 연결을 유지하고 네트워크 끊김 후 추가 코드 없이 다시 연결해요.
MQTT 3.1.1 / 5.0, AMQP 0.9.1 / 1.0, STOMP 및 WAMP 클라이언트 내장. 같은 라이브러리에서 RabbitMQ, HiveMQ, Azure Service Bus 또는 ActiveMQ와 통신하세요.
같은 패키지의 네이티브 HTTP/2 클라이언트 (RFC 9113) — 이를 요구하는 Apple Push Notifications 같은 API를 위해.
서버 컴포넌트는 HTTP.SYS를 통해 바인딩하므로 IIS와 포트 80/443을 공유하고 하나의 프로세스에서 HTTP와 WebSocket 트래픽을 처리할 수 있어요.
TsgcWSAPI_SignalR과 TsgcWSAPI_SignalRCore가 SignalR 클라이언트 와이어 프로토콜을 구현하므로, sgcWebSockets 클라이언트가 기존 ASP.NET Core SignalR 서버와 통신할 수 있어요.
OpenAI, Anthropic, Gemini, DeepSeek, Grok, Ollama, Mistral 및 MCP 클라이언트가 같은 스위트로 제공되며, Delphi AI 제품군을 그대로 반영해요.
클라이언트와 서버는 Authentication, Proxy 및 TLSOptions / SSLOptions 속성 그룹을 노출하고, 서버는 자격 증명 확인을 위한 OnAuthentication 이벤트를 추가로 제공해요.
두 플랫폼에서 동일한 Tsgc* 클래스 이름과 이벤트를 사용하므로, Delphi와 .NET을 나란히 운영하는 팀은 하나의 멘탈 모델만 유지하면 돼요.
몇 가지 속성을 설정하고, 이벤트를 연결하고, Active를 설정하세요. 그게 패턴의 전부예요.
using esegece.sgcWebSockets;
var client = new TsgcWebSocketClient();
client.Host = "127.0.0.1";
client.Port = 80;
client.TLS = true;
client.Options.Parameters = "/ws/";
client.OnConnect += (conn) => Console.WriteLine("#connected: " + conn.IP);
client.OnDisconnect += (conn, code) => Console.WriteLine("#disconnected: " + code);
client.OnMessage += (conn, text) => Console.WriteLine(text);
client.OnException += (conn, ex) => Console.WriteLine("#exception: " + ex.Message);
client.Active = true;
client.WriteData("hello");
using esegece.sgcWebSockets;
var server = new TsgcWebSocketHTTPServer();
server.Port = 80;
server.OnConnect += (conn) => server.WriteData("welcome " + conn.IP);
server.OnMessage += (conn, text) => server.WriteData(text);
server.OnDisconnect += (conn, code) => Console.WriteLine("#bye " + conn.IP);
server.OnAuthentication += (conn, user, pass, ref ok) =>
{ ok = (user == "admin" && pass == "s3cret"); };
server.Active = true;
무료 Community 에디션은 시작 알림이 표시되는 Windows, Linux 64비트, macOS 64비트용 완전한 작동 빌드로, 자신의 솔루션에서 라이브러리를 평가하는 가장 빠른 방법이에요. .NET 에디션은 Community, Professional, Enterprise이며, 세 가지 모두 WebSocket 클라이언트와 WebSocket 서버를 포함한 동일한 컴포넌트 세트를 제공해요. 상용 에디션의 차이는 기능이 아니라 라이선스에 있어요: Professional은 시작 알림을 제거하고, 공개 C# 인터페이스 소스를 추가하고, 상업적 재배포 라이선스를 부여하며, Enterprise는 어셈블리를 재빌드할 수 있는 전체 C# 소스 코드와 우선 지원을 추가해요.
에디션별, 컴포넌트별 세부 내역은 전체 .NET 기능 매트릭스를 참조하세요.
중립적이고 출처를 인용한 조사: sgcWebSockets .NET vs System.Net.WebSockets, SignalR, WebSocket-Sharp, Fleck, Watson.
.NET의 TsgcWebSocketClient 컴포넌트 참조: 속성, 메서드, 이벤트.
.NET의 TsgcWebSocketHTTPServer 컴포넌트 참조: HTTP.SYS, 포트 공유, TLS.
모든 컴포넌트와 프로토콜을 에디션별, 대상 프레임워크별로.
nuget.org에서 esegece.sgcWebSockets를 설치하고 첫 연결을 실행하기.
Community 에디션, 컴파일된 데모 및 ASP.NET Core + React 샘플.