Erstellen Sie einen robusten, skalierbaren Echtzeit-Websocket-Client und -Server

HTTP ist eines der, wenn nicht das am weitesten verbreitete Client-Server-Protokoll. Es bedient seit vielen Jahren unsere Lieblingswebseiten, Blogs und sogar diese Site, während ihrer gesamten Lebensdauer auf den Schultern des zuverlässigen TCP. Aber die Technologie entwickelt sich weiter, und im Laufe der Zeit wurde klar, dass HTTP einige Einschränkungen aufweist. Das erste ist, dass HTTP unidirektional ist. Bei HTTP startet der Client zuerst die Anfrage und der Server antwortet. Für jede Ressource ist der Client also derjenige, der die Ressource abfragt. Darüber hinaus erwartet HTTP, dass jede Interaktion eine Zeitüberschreitung hat, bevor angenommen wird, dass der Server nicht antwortet.

Welche Lösungen gibt es für die HTTP-Einschränkungen?

Long-Polling dient als Lösung für die Einschränkungen der HTTP-basierten Technologie. In diesem Fall sendet der Client eine Anfrage mit einem langen Timeout. Dies lässt dem Server viel Zeit, um zu antworten, ohne dass die Verbindung aufgrund von Inaktivität oder Unfähigkeit abläuft, zu antworten. Dies war eine Lösung für bis zu einem bestimmten Niveau, aber das ist sehr ressourcenintensiv. Dies liegt daran, dass die Serverressourcen während des langen Pollings reserviert und für den Client reserviert sind.

Sind Websockets eine bessere Lösung für HTTP-Einschränkungen?

Ja, Websockets sind eine bessere Lösung, um einige der HTTP-Timeout-Beschränkungen zu mildern. Websockets können HTTP verwenden, um die Verbindung zu initialisieren und unter Verwendung derselben TCP-Verbindung zu einem Websocket zu aktualisieren. Mit Websockets haben wir eine dauerhafte bidirektionale Verbindung, die weniger ressourcenintensiv ist als lange Abfragen. Sowohl der Server als auch der Client können Nachrichten jederzeit per Push übertragen. Heutzutage unterstützen die meisten Webbrowser das Websocket-Protokoll. Auch die fünfte Version von HTML (HTML5) bietet Unterstützung für Websockets. Im Allgemeinen ermöglichen Websockets die Erstellung von Echtzeit-Client-Server-Anwendungen.

Wie implementiere ich Websocket-Anwendungen mit Delphi oder C++ Builder?

IPWorks bietet eine Komplettlösung zur Implementierung von Websocket-Server und -Client. Es hat folgende Komponenten:

TipeCertMgr: Diese Komponente zum Speichern von Zertifikaten.

TipeWebSocketServer: Dies ist die Serverkomponente, die Websocket-Client-Anfragen akzeptiert.

TipeWebSocketClient: Dies ist die Client-Komponente, die sich mit einem Websocket-Server verbinden und Daten senden oder empfangen kann.

TipeWebSocketProxy: Diese Komponente akzeptiert Websocket-Verbindungen für einen Websocket-Server und leitet stattdessen auf einen anderen Server um.

Mit diesen Komponenten können Sie eine vollständige Websocket-Client- und Serveranwendung entwickeln. Diese Komponenten sind nativ und benötigen keine externen Bibliotheken. Auch die Komponenten sind optimiert und arbeiten effizient. Es ist sehr sicher mit der WebSocket Secure 256-Bit-Verschlüsselung. Diese Komponenten sind threadsicher. Als zusätzlichen Bonus haben sie auch eine gute Dokumentation für den Einstieg:

https://cdn.nsoftware.com/help/IWF/dlp/

Wie verwende ich IPWorks WebSockets?

IPWorks bietet eine kostenlose Testversion ihres WebSocket-Komponentenpakets für Delphi und C++ Builder. Sie können diese Komponenten in Ihrer Anwendung auswerten. Sie können die Komponenten über diesen Link erwerben:

https://www.nsoftware.com/ipworks/ws/download.aspx

Sie können auch den GetIt-Paketmanager verwenden, um nach Testversionen von IPWorks zu suchen:

https://getitnow.embarcadero.com

Das Installationsprogramm für IPWorks WebSockets-Komponenten wird mit einer Demo-Anwendung geliefert, die sofort einsatzbereit ist. Es hat einen netten kleinen Websocket-Echo-Server und eine Client-Anwendung, um sich mit dem Websocket-Server zu verbinden.

Hier ist ein Delphi WebSocket Server-Demo

IPWorks WebSockets-Server

Hier ist ein Delphi WebSocket Kundendemo

IPWorks WebSockets-Client

Wie erstelle ich einen Demo-WebSocket-Server in RAD Studio Delphi?

Um einen Websocket-Server mit IPWorks Websocket-Komponenten zu erstellen, ziehen Sie einfach ein TipeWebSocketServer Komponente zu einem Formular. Sie müssen grundlegende Parameter wie den zu verwendenden Port einrichten und ob dies ein SSL-Server ist oder nicht. Wenn es sich um einen SSL-Server handelt, müssen Sie a TipeCertMgr Komponente und weisen Sie dort Zertifikatsdetails zu. Nachdem Sie alle obligatorischen Parameter eingestellt haben, können Sie „Hören” auf true setzen und den Server starten und Client-Anfragen über den Port akzeptieren. Die Sever-Komponente verfügt über viele Ereignisse, die Sie verarbeiten können. Einige von ihnen sind:

OnConnected: Wird ausgelöst, wenn ein neuer Client verbunden ist.

OnDataIn: Beim Empfangen von Daten von einem Client

BeiGetrennt: Wird ausgelöst, wenn der Client getrennt wird.

Bei Fehler: Dies wird mit einer Verbindungs-ID, einem Fehlercode und einer Fehlerbeschreibung für einen Fehler aufrufen.

Wie erstelle ich einen Demo-WebSocket-Client in RAD Studio Delphi?

Um einen Websocket-Client zu erstellen, können Sie das TipeWebSocketClient Komponente. Platzieren Sie einfach die Komponente auf einem Formular, legen Sie einige obligatorische Parameter fest und Sie haben den funktionierenden Client. Dann können Sie die Prozedur „Verbinden (ws://SERVER:PORT)“, um eine Verbindung zum Server herzustellen. Sobald Ihre Arbeit erledigt ist, können Sie die Verbindung zum Server trennen, indem Sie die Prozedur „Disconnect“ aufrufen. Der Client hat auch ein ähnliches Ereignis wie der Server.

OnConnected: Wird ausgelöst, wenn eine Verbindung zum Server besteht.

OnDataIn: Beim Empfangen von Daten vom Server.

BeiGetrennt: Vom Server getrennt.

Bei Fehler: Dies wird mit einem Fehlercode und einer Fehlerbeschreibung für einen Fehler aufrufen.

IPWorks WebSockets ist eine der besten Lösungen für die Entwicklung robuster, fortschrittlicher und dennoch entwicklerfreundlicher Websocket-Client-Server-Anwendungen.

schließen

Reduzieren Sie die Entwicklungszeit und kommen Sie mit RAD Studio, Delphi oder C ++ Builder schneller auf den Markt.
Design. Code. Kompilieren. Bereitstellen.
Kostenlos testen   Upgrade heute

   Kostenlose Delphi Community Edition   Kostenlose C ++ Builder Community Edition