Building a WebSocket Server in C++Builder

· Komponenten

TsgcWebSocketServer ist Teil der sgcWebSockets-Suite und bietet eine High-Level-Komponente zum Erstellen von WebSocket-Servern in C++Builder. Diese Anleitung führt dich durch creating a minimal server that automatically replies to incoming messages. 

Das VCL-Projekt erstellen

  1. Öffne C++Builder und erstelle ein neues VCL Forms Application.
  2. Lege eine TsgcWebSocketServer-Komponente auf das Formular (standardmäßig sgcWSServer1 benannt).
  3. Optional kannst du eine TMemo (MemoLog) zur Anzeige der Aktivität hinzufügen.

Den Server konfigurieren

Richte den Server im OnCreate-Handler des Formulars ein: 

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

Auf eingehende Nachrichten antworten

Behandle das OnMessage-Ereignis, um den empfangenen Text an den Client zurückzusenden: 

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 sendet die Antwort nur an die betreffende Verbindung, während Broadcast die Nachricht an jeden verbundenen Client sendet. 

Den Server starten

Kompiliere die Anwendung und starte sie. Jeder WebSocket-Client, der sich mit ws://<your-host>:9001/ verbindet, erhält eine Antwort mit dem Präfix "Server received:" auf jede gesendete Nachricht.