WebSocket and HTTP Support

sgcWebSockets includes client and server-side implementations of the WebSocket protocol (RFC 6455). HTTP/s is also full supported.

SSL/TLS for Security

Your messages are secure using our SSL/TLS implementation. Widest compatibility via support for modern TLS 1.3 and TLS 1.2

Protocols and APIs

Several protocols are supported: MQTT, STOMP, WEBRTC, WAMP... Built-in protocols support Transactions, Datasets, QoS, big file transfers and more. APIs supported for third-parties like Pusher, Bitfinex...

Cross-platform

Share your code using our WebSockets library for your Delphi , .NET and CBuilder Applications. Includes Server, Clients and serveral protocols for building and connecting to WebSocket applications.

Delphi WebSocket Client

eSeGeCe provides a fully featured WebSocket component that allows to connect to any WebSocket Server using the latest TLS versions, OAuth protocol, JWT Tokens and much more.

Delphi HTTP Client

sgcWebSockets supports latest HTTP protocol, the HTTP/2 version, which highly improves the performance of HTTP connections. The component is built using 100% native Delphi code without external dependencies. HTTP/1 protocol is supported too and includes the latest TLS versions for secure connections.

Delphi WebSocket Server

There are 2 available servers: one based on Indy library with support for WebSocket, HTTP, SSE, OAuth2, JWT, plain TCP connections... IOCP and EPOLL are supported too. And another server based on HTTP.SYS Microsoft API which can handle thousands of concurrents connections with support for HTTP and WebSocket without external dependencies.

Delphi HTTP Server

Servers support HTTPs protocol (HTTP/1 and HTTP/2) including the latest Authentication protocols like OAuth2 or JWT. So you can build your REST server and provide OAuth2 Authentication for client requests. DataSnap server can be replaced by sgcWebSockets servers to improve stability, reliability and modernize the Authentication protocols adding OAuth2 and JWT.

Delphi Crypto Trading

Several Crypto Brokers are publishing WebSocket and REST APIs to allow custom trading through their platforms. sgcWebSockets fully supports real-time data using websocket streams or Trading private accounts through the REST API on several platforms like Binance, Coinbase Pro or Kraken.

Delphi Cloud Components

sgcWebSockets provide solutions for working cloud providers like Amazon AWS, Microsoft Azure or Google Cloud. There are clients for IoT protocols, Amazon SQS, Google PubSub and more.

OpenAI Components

Discover the power of sgcWebSockets OpenAI applications! Harnessing the cutting-edge capabilities of artificial intelligence, our library empowers businesses to revolutionize their processes. Unlock unparalleled efficiency, accuracy, and innovation, as you automate tasks, enhance customer experiences, and gain valuable insights.

Embrace the future with OpenAI

and stay ahead of the competition.

P2P Components

Unleash the potential of P2P applications and revolutionize connectivity! With our innovative components, experience direct communication and seamless sharing between users. Say goodbye to intermediaries, enjoy enhanced security and privacy, and tap into a world of decentralized collaboration. Embrace the power of P2P and reshape the way you connect and interact.

Create Delphi WebSocket Client

Create Delphi WebSocket Server

MQTT

A lightweight messaging protocol for small sensors and mobile devices, optimized for high-latency or unreliable networks

WebRTC

It allows audio and video communication to work inside web pages.

STOMP

Simple Text Orientated Messaging Protocol

WAMP

WAMP is an open standard WebSocket subprotocol that provides two application messaging patterns in one unified protocol: Remote Procedure Calls + Publish & Subscribe.

SGC

Implemented using JSON-RPC 2.0 messages, provides following patterns: RPC, PubSub, Transactional Messages, Messages Acknowledgment and more.

FILES

implemented using binary messages, provides support for send files: packet size, authorization, QoS, message acknowledgment and more. Acknowledgment and more.

DATASET

Inherits from SGC Protocol and it's useful if you want to broadcast dataset changes over clients connected to this protocol.

Presence

Allows to know who is subscribed to a channel, example: chat rooms, collaborators on a document, people viewing the same web page, competitors in a game...

Pusher

Pusher it's an easy and reliable platform with nice features based on websocket protocol: flexible pub/sub messaging, live user lists (presence), authentication...

SignalRCore

ASP.NET Core SignalR is an open-source library that simplifies adding real-time web functionality to apps.

Socket.IO

Socket.IO is a JavaScript library for realtime web applications.

Bitfinex

Bitfinex is one of the world's largest and most advanced cryptocurrency trading platform. Users can exchange Bitcoin, Ethereum, Ripple, EOS, Bitcoin Cash, Iota, NEO, Litecoin, Ethereum Classic...

Binance

Binance is a blockchain ecosystem comprised of Exchange, Labs, Launchpad, and Info.

Bitstamp

Bitstamp is a bitcoin exchange based in Luxembourg. It allows trading between USD currency and bitcoin cryptocurrency.

Huobi

Huobi is an international multi-language cryptocurrency exchange.

CEX.IO

CEX.IO is a cryptocurrency exchange and former Bitcoin cloud mining provider.

Coinbase Pro

Coinbase Pro is a platform that allows to buy, sell and store cryptocurrencies like Bitcoin, Ethereum...

FXCM

FXCM is a retail broker for trading on the foreign exchange market.

Discord

Discord is one of the most popular communication tools for online gaming and streaming.

Telegram

Telegram is a freeware, cross-platform, cloud-based instant messaging software and application service.

XTB

XTB provides access to over 2100 financial markets including FX, indices, shares, commodities and more.

Crytohopper

CryptoHopper it's an automated crypto trading bot that allows to automate trading and portfolio management for Bitcoin, Ethereum, Litecoin and more.

3Commas

3Commas is a cryptocurrency trading platform designed to help you build automated trading bots

RCON

The Source RCON Protocol is a TCP/IP-based communication protocol used by Source Dedicated Server, which allows console commands to be issued to the server via a "remote console", or RCON.

How Create VCL WebSocket Client

Example: open a websocket connection to echo.websocket.org

  1. Create a new VCL Forms Application 

  2. Drop a TsgcWebSocketClient in a Form and configure Host and Port Properties to connect to Server.

    sgcWebSocketClient1.Host := 'echo.websocket.org';

    sgcWebSocketClient1.Port := 80;

  3. Drop a TButton in a Form, Double Click and type this code:

   sgcWebSocketClient1.Active := True;

  4. Drop a TButton in a Form, Double Click and type this code:

   sgcWebSocketClient1.WriteData('Hello Server From VCL Client');

  5. Build Project and that's all, you have configured a basic WebSocket Client.

How Create VCL WebSocket Server

Example: create a server which listen on port 80

  1. Create a new VCL Forms Application 

  2. Drop a TsgcWebSocketServer in a Form and set listening port

      sgcWebsocketServer1.Port := 80;

  3. On Events Tab, Double click OnMessage Event, and type following code:

      ShowMessage('Message Received From Client: ' + Text);

  4. Drop a TButton in a Form, Double Click and type this code:

      sgcWebSocketServer1.Active := True;

   5. Build Project and that's all, you have configured a basic WebSocket Server.

How Create Linux WebSocket Server

Example: Simple Server listening on port 5000.

program sgcWebSockets_linux;

{$APPTYPE CONSOLE}

{$R *.res}

uses

  System.SysUtils, sgcWebSocket;

var

  oServer: TsgcWebSocketServer;

begin

  try

    oServer := TsgcWebSocketServer.Create(nil);

    oServer.Port := 5000;

    oServer.Active := True;

 

    while oServer.Active do

      Sleep(10);

  except

    on E: Exception do

      Writeln(E.ClassName, ': ', E.Message);

  end;

 

end.

WebBrowser Client

Example: open a websocket connection to 127.0.0.1:8000

  1. Create a new html file

  2. Open file with a text editor and copy following code:

<html>

<head>

<script type="text/javascript" src="http://127.0.0.1:8000/sgcWebSockets.js"></script>

</head>

<body>

<a href="javascript:var socket = new sgcWebSocket('ws://127.0.0.1:8000');">Open</a>

<a href="javascript:socket.send('Hello Server From Web Browser');">Send</a>

</body>

</html>

 3. Save file and you have configure a WebSocket WebBrowser client.

Delphi WebSockets Components Trial

Full Enterprise Single Trial version, works for a time limited period and can only be installed in a single WorkStation (Delphi 7 - Rad Studio 12)

Delphi 12 Delphi 11 Delphi 10_4
Delphi 10_3 Delphi 10_2 Delphi 10_1
Delphi 10 Delphi XE8 Delphi XE7
Delphi XE6 Delphi XE5 Delphi XE4
Delphi XE3 Delphi XE2 Delphi XE
Delphi 2010 Delphi 2009 Delphi 2007
Delphi 7 Lazarus 3.0.0 Win32

CBuilder WebSockets Components Trial

Full Enterprise Single Trial version, works for a time limited period and can only be installed in a single WorkStation (CBuilder 10.1 - CBuilder 12)

CBuilder 12 CBuilder 11 CBuilder 10_4
CBuilder 10_3 CBuilder 10_2 CBuilder 10_1

Delphi Compiled Demos

Includes a set of compiled demos which shows the use of sgcWebSockets

Download

ASP.NET Core React Demo

ASP.NET Core React Demo

Download

Delphi Install sgcWebSockets Package

CBuilder Install sgcWebSockets Package

  • * except BASIC edition
  • Delphi | CBuilder
  • * For Windows (32/64) and MacOS 64
  • * ENTERPRISE edition only.
  • .NET
Intro
Image is not available
sgcWebSockets
Share your code using our WebSockets Components for
Delphi, CBuilder and Lazarus.
sgcWebSockets
sgcWebSockets

sgcWebSockets is a complete package providing access to WebSockets protocol, allowing to create WebSockets Servers and Clients for Delphi and CBuilder Projects.
Several Protocols and APIs are also supported.

Contact
We'd love to hear from you.

We would love to hear about your projects. Got a question? Drop us a mail.

Barcelona, Spain
Mon - Fri / 9AM - 5PM
Image is not available

eSeGeCe

Barcelona
Spain (Europe)