Een WebSocket-server bouwen in C++Builder

· Componenten

TsgcWebSocketServer maakt deel uit van de sgcWebSockets-suite en biedt een high-level component om WebSocket-servers te bouwen in C++Builder. Deze gids loopt door het opzetten van een minimale server die automatisch antwoordt op binnenkomende berichten. 

Het VCL-project aanmaken

  1. Open C++Builder en maak een nieuwe VCL Forms Application aan.
  2. Plaats een TsgcWebSocketServer-component op het formulier (standaard sgcWSServer1).
  3. Voeg optioneel een TMemo (MemoLog) toe om activiteit weer te geven.

De server configureren

Stel de server in in de OnCreate-handler van het formulier: 

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  sgcWSServer1->Port   = 9001;  // listen on port 9001
  sgcWSServer1->Active = true;  // start the server
} 

Reageren op binnenkomende berichten

Implementeer de OnMessage-gebeurtenis om de ontvangen tekst terug te sturen naar de client: 

void __fastcall TForm1::sgcWSServer1Message(TsgcWSConnection *Connection,
                                            const UnicodeString Text)
{
  Connection->WriteData("Server received: " + Text);  // reply only to sender
  // sgcWSServer1->Broadcast(Text); // alternative: send to all clients
  MemoLog->Lines->Add(Text);                           // optional logging
}

WriteData stuurt het antwoord alleen naar de specifieke verbinding, terwijl Broadcast het bericht naar elke verbonden client stuurt. 

De server uitvoeren

Compileer en run de toepassing. Elke WebSocket-client die verbindt met ws://<jouw-host>:9001/ ontvangt voor elk bericht een antwoord met de prefix "Server received:".