Delphi WebSocket 클라이언트
TsgcWebSocketClient — SSL/TLS, 프록시 지원, 메시지 압축, 자동 재연결을 갖춘 Delphi 및 C++ Builder용 풀 기능 WebSocket 클라이언트 컴포넌트.
TsgcWebSocketClient — SSL/TLS, 프록시 지원, 메시지 압축, 자동 재연결을 갖춘 Delphi 및 C++ Builder용 풀 기능 WebSocket 클라이언트 컴포넌트.
클라이언트 WebSocket 컴포넌트 — RFC 6455 WebSocket 서버에 연결해 텍스트 및 바이너리 메시지를 교환해요.
TsgcWebSocketClient
WebSocket — RFC 6455
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
Host, Port, TLS를 설정하고 OnMessage를 처리한 다음 연결을 활성화하세요. 핸드셰이크, 프레이밍, ping/pong은 자동으로 관리돼요.
uses
sgcWebSocket_Client, sgcWebSocket_Classes;
var
oClient: TsgcWebSocketClient;
begin
oClient := TsgcWebSocketClient.Create(nil);
oClient.Host := '127.0.0.1';
oClient.Port := 80;
oClient.TLS := True;
oClient.Options.Parameters := '/ws/';
oClient.OnConnect := OnConnect;
oClient.OnMessage := OnMessage;
oClient.OnDisconnect := OnDisconnect;
oClient.Active := True;
end;
procedure TForm1.OnMessage(Connection: TsgcWSConnection;
const Text: string);
begin
Memo1.Lines.Add(Text);
end;
// Send a text frame
oClient.WriteData('hello');
// uses: sgcWebSocket_Client, sgcWebSocket_Classes
TsgcWebSocketClient *oClient = new TsgcWebSocketClient(this);
oClient->Host = "127.0.0.1";
oClient->Port = 80;
oClient->TLS = true;
oClient->Options->Parameters = "/ws/";
oClient->OnConnect = OnConnect;
oClient->OnMessage = OnMessage;
oClient->OnDisconnect = OnDisconnect;
oClient->Active = true;
void __fastcall TForm1::OnMessage(TsgcWSConnection *Connection,
const UnicodeString Text)
{
Memo1->Lines->Add(Text);
}
// Send a text frame
oClient->WriteData("hello");
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.Active = true;
// Send a text frame
client.WriteData("hello");
게시된 속성 23개, 메서드 22개, 이벤트 16개 — 컴포넌트 레퍼런스에서 바로 가져온 내용이에요.
Host, Port, URL, TLS, IPVersion, Active로 동기 또는 비동기 연결을 열어요. Connect/Disconnect는 호출자를 차단하고, Start/Stop은 워커 스레드에서 실행돼요.
HeartBeat는 타이머로 WebSocket ping 프레임을 보내요. WatchDog은 예기치 않은 연결 끊김 후 자동으로 재연결해요. OnBeforeHeartBeat와 OnBeforeWatchDog로 각 주기를 사용자 정의할 수 있어요.
TLSOptions는 IOHandler(OpenSSL 또는 SChannel), TLS 버전(1.0–1.3), ALPN을 선택해요. Proxy는 HTTP 또는 SOCKS를 통해 핸드셰이크를 라우팅해요. Authentication은 Basic / Bearer / 사용자 정의 방식을 처리해요.
WriteData는 선택적 단편화와 함께 텍스트 프레임을 전송해요. WriteAndWaitData는 피어가 응답할 때까지 차단해요. Ping은 ping 프레임을 보내요. OnMessage, OnBinary, OnFragmented가 들어오는 데이터를 전달해요.
Extensions.PerMessage_Deflate는 RFC 7692 압축을 협상해요. Throttle은 양방향에서 초당 비트수를 제한해요. QueueOptions는 연결 스레드에서 Text / Binary / Ping 쓰기를 직렬화해요.
LogFile은 원시 인바운드 및 아웃바운드 트래픽을 디스크에 덤프해요. NotifyEvents는 메인 스레드로 이벤트가 디스패치되는 방식을 선택해요. OnException, OnError, OnHandshake는 프로토콜 수준 세부 정보를 표면화해요.
Indy 소켓 대신 운영체제의 WinHTTP 스택에서 WebSocket 연결을 실행하는 Windows 전용 대체 클라이언트 — 동일한 WebSocket API를 제공하며, 배포할 서드파티 의존성이 없어요.
TsgcWSClient_WinHTTP — TsgcWebSocketClient와 동일한 메시징 API, 이벤트, 연결 제어를 제공하므로 코드가 익숙하게 유지돼요.
핸드셰이크와 프레이밍에 네이티브 Windows WinHTTP API를 사용하므로, 애플리케이션과 함께 배포할 추가 소켓 라이브러리가 없어요.
보안 연결은 Windows SChannel에서 처리되므로, OpenSSL DLL을 번들로 제공하지 않아도 TLS가 바로 작동해요.
Windows 시스템 프록시 구성을 따르고 Windows 인증 방식(Basic, NTLM, Negotiate)을 통합해요.
운영체제의 HTTP 및 TLS 스택에 의존하는 순수 Windows 배포를 원할 때는 TsgcWSClient_WinHTTP를 선택하세요. 크로스 플랫폼 대상(macOS, Linux, iOS, Android)에는 위의 표준 TsgcWebSocketClient를 사용하세요.
컴포넌트 레퍼런스로 바로 이동하고, 실행 가능한 데모 프로젝트를 받고, 체험판을 다운로드하세요.
| 온라인 도움말 — TsgcWebSocketClient 이 컴포넌트의 전체 속성, 메서드, 이벤트 레퍼런스. | 열기 | |
| 데모 프로젝트 — 01.WebSocket\01.Client 실행 가능한 예제 프로젝트. sgcWebSockets 패키지에 포함돼 있어요 — 아래에서 체험판을 다운로드하세요. | 열기 | |
| 기술 문서 (PDF) 이 컴포넌트의 기능, 빠른 시작, Delphi, C++ Builder, .NET 코드 샘플, 1차 출처 참고 자료. | 열기 | |
| 사용자 설명서 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 설명서. | 열기 |