Diskussion zum Artikel "Datenaustausch zwischen Terminals via Internet mit Hilfe von WinInet.dll"

 

Neuer Artikel Datenaustausch zwischen Terminals via Internet mit Hilfe von WinInet.dll :

Dieser Beitrag beschreibt die Prinzipien der Arbeit mit dem Internet mittels Verwendung von HTTP-Anfragen sowie den Datenaustausch zwischen Terminals mit Hilfe eines Zwischenservers. Eine MqlNet Library-Klasse wird vorgestellt, die die Arbeit mit Internet-Ressourcen in der MQL5-Umgebung erlaubt. Kontrolle der Preise verschiedener Makler, Austausch von Nachrichten mit anderen Händler ohne Verlassen des Terminals, Suche nach Informationen im Internet – das sind nur einige Beispiele, die in diesem Beitrag behandelt werden.

In diesem Beitrag lernen Sie:

  • grundlegende Internet-Technologien zu nutzen;
  • Daten zwischen Terminals via dem Server auszutauschen;
  • eine allgemeine Library-Klasse zur Arbeit mit dem Internet in der MQL5-Umgebung anzulegen.

Die MQL5 CodeBasis enthält ein Beispiel script, das mit der wininet.dll Library funktioniert und zeigt ein Beispiel der Serverseiten-Anfrage. Doch wir gehen hier viel weiter und veranlassen den Server uns nicht nur die Seite zu geben, sondern auch diese Daten zu senden und sie für weitere Übertragungen an andere anfragende Terminals zu speichern.

Hinweis: Wir empfehlen allen, die keinen Zugang zu einem PHP-konfigurierten Server haben, sich das Denwer Kit herunterzuladen, und dies als Arbeitsplattform zu verwenden Des Weiteren empfehlen wir den Apache Server und PHP bei Ihrem lokalen Host für Tests zu verwenden.

Um eine Anfrage an den Server zu senden, brauchen wir die 7 Hauptfunktionen der Library.

InternetAttemptConnect  Versucht eine Internetverbindung zu finden und diese aufzubauen
InternetOpen
Initialisiert die Struktur zur Arbeit mit den WinInet Library-Funktionen. Diese Funktion muss vor der Aktivierung aller anderen Funktionen der Library aktiviert sein.
InternetConnect Öffnet die, durch die HTTP URL oder FTP-Adresse bezeichnete, Ressource. Liefert den Deskriptor an eine offene Verbindung
HttpOpenRequest Erzeugt einen Deskriptor für HTTP-Anfragen zum Einrichten einer Verbindung
HttpSendRequest Sendet mit Hilfe des erzeugten Deskriptors eine Anfrage
InternetReadFile Liest Daten, die nach der Verarbeitung der Anfrage, vom Server empfangen werden
InternetCloseHandle Setzt den übertragenen Deskriptor frei

Autor: o_O