Brauchen Sie meine Kommentare hier überhaupt? Ich verbinde mql-Code mit externem Code, parallel schaue ich mir Ihre Entwicklungen an, finde ich Fehler, darf ich hier nicht schreiben.
Vergessen Sie nicht, in Ihrem Artikel explizit auf die Bittauglichkeit hinzuweisen. Etwas wie: "Code für x64" oder einen Schalter auf Makros, um für verschiedene Architekturen zu kompilieren. Übrigens, was ist sizeof(ULONG) auf x64? Ich habe einige widersprüchliche Daten. Einerseits sollte es immer 4 sein, das LLP64-Modell in win deutet darauf hin, und msdn schreibt: https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx.
ULONG:<br/ translate="no">Ein LONG ohne Vorzeichen. Der Bereich ist 0 bis 4294967295 dezimal Dieser Typ ist in WinDef.h wie folgt deklariert: typedef unsigned long ULONG;
aber ich bin mir nicht sicher.
SO:
Wenn ich richtig liege, haben Sie ulong hier umsonst reingepackt:
The data types supported by Windows are used to define function return values, function and message parameters, and structure members. They define the size and meaning of these elements. For more information about the underlying C/C++ data types, see Data Type Ranges. The following table contains the following types: character, integer...
Können Sie uns mitteilen, für welche Aufgaben Sie es verwenden werden? Es gibt sogar eine Anfrage in dem Artikel
Ich kann mir nicht vorstellen, wo es für mich praktisch wäre.
Ich bin in linux, daher ipc im Allgemeinen wird eine nicht-triviale Aufgabe (Kommunikation zwischen Terminal unter Wein und linuex exe). Und ipc über ein Netzwerk ist ein universeller Weg. Ich verbinde das µl-Skript mit dem Linux-Programm über Loopback (127.0.0.1) auf demselben Computer. Im Grunde habe ich eine Linux-API für das Terminal geschrieben (das µl-Skript bearbeitet Anfragen und sendet Kursdaten oder erteilt Aufträge).
Nach allem, was ich bisher ausprobiert habe, ist dies in meiner Situation die beste Art der IPC. Und ich möchte meine Entwicklungen nicht auf µl übertragen - ich möchte prinzipiell nicht an eine bestimmte Sprache gebunden sein.
Ich arbeite unter Linux, daher wird ipc im Allgemeinen zu einer nicht-trivialen Aufgabe (Kommunikation zwischen Terminal unter Wine und linuex exe). Und ipc über das Netzwerk ist ein universeller Weg. Ich verbinde das µl-Skript mit dem Linux-Programm über Loopback (127.0.0.1) auf demselben Computer. Im Grunde habe ich eine Linux-API für das Terminal geschrieben (das µl-Skript bearbeitet Anfragen und sendet Kursdaten oder erteilt Aufträge).
Nach allem, was ich bisher ausprobiert habe, ist dies in meiner Situation die beste Art der IPC. Ich möchte meine Entwicklungen nicht auf µl übertragen - ich möchte prinzipiell nicht an eine bestimmte Sprache gebunden sein.
Das wäre ein toller Artikel! Sie erhalten Ihre eigene universelle Handels-API für jede Plattform. Und für eine Plattform schreiben Sie nur einen Receiver/Transmitter auf der API der Plattform selbst.
Und Sie können TS in jeder Sprache schreiben. Programmierer sind eben so!
Payback ist nur in der Latenzzeit. Deshalb wird es für eine sehr enge Art von TC nicht funktionieren - und das ist in Ordnung.
Der Artikel ist sehr interessant und informativ. Ich habe vor, die Socket-Technologie zu verwenden, um vom VPS-Server mit MT-5-Terminals auf den Server mit MS-SQL-Datenbank Informationen über den Finanzstatus der Konten am Ende des Tages/Woche/Monats zu übertragen. In der Praxis umgesetzt, aber die Praxis zeigt, dass nach einiger Zeit Pakete zu verlieren beginnen. Und nach den Protokollen zu urteilen, bleibt der Serverteil zunächst "stehen", und die Clientteile denken zu diesem Zeitpunkt weiterhin, dass alles in Ordnung ist, weil der Code des Clientteils der Prüfung vom Typ
nichts hergibt. D.h. die Clients können den Verlust der Verbindung mit dem Server vor dem Senden und sogar im Moment des Sendens von Paketen nicht feststellen.
Vielleicht ist es notwendig, eine Funktion wie "CheckSocket" für die vorläufige Prüfung der Funktionsfähigkeit des Serversockets hinzuzufügen? Wie kann man sie dann implementieren?
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
sondern in dem Artikel.
Brauchen Sie meine Kommentare hier überhaupt? Ich verbinde mql-Code mit externem Code, parallel schaue ich mir Ihre Entwicklungen an, finde ich Fehler, darf ich hier nicht schreiben.
Es ist okay, Kommentare sind willkommen.
Ich sende die Änderungen an den Artikel.
Ich werde 64 Bit in den Beispielen verwenden
https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx.
aber ich bin mir nicht sicher.
SO:
Wenn ich richtig liege, haben Sie ulong hier umsonst reingepackt:
Ich habe einen solchen synchronen TCP-Client:
Ich brauche keinen Server auf µl, also nur einen Client. Oberflächlich getestet.
ZЫЫ: Danke für den Artikel.Ich habe einen solchen synchronen TCP-Client:
Könnten Sie uns mitteilen, für welche Aufgaben Sie ihn verwenden werden? Es gibt sogar eine Anfrage in dem Artikel
Wenn Sie auch Ideen für Anwendungen haben - teilen Sie sie in den Kommentaren zum Artikel mit
Mir fällt keine Anwendung ein, bei der es für mich sinnvoll wäre.
Können Sie uns mitteilen, für welche Aufgaben Sie es verwenden werden? Es gibt sogar eine Anfrage in dem Artikel
Ich kann mir nicht vorstellen, wo es für mich praktisch wäre.
Ich bin in linux, daher ipc im Allgemeinen wird eine nicht-triviale Aufgabe (Kommunikation zwischen Terminal unter Wein und linuex exe). Und ipc über ein Netzwerk ist ein universeller Weg. Ich verbinde das µl-Skript mit dem Linux-Programm über Loopback (127.0.0.1) auf demselben Computer. Im Grunde habe ich eine Linux-API für das Terminal geschrieben (das µl-Skript bearbeitet Anfragen und sendet Kursdaten oder erteilt Aufträge).
Nach allem, was ich bisher ausprobiert habe, ist dies in meiner Situation die beste Art der IPC. Und ich möchte meine Entwicklungen nicht auf µl übertragen - ich möchte prinzipiell nicht an eine bestimmte Sprache gebunden sein.
Ich arbeite unter Linux, daher wird ipc im Allgemeinen zu einer nicht-trivialen Aufgabe (Kommunikation zwischen Terminal unter Wine und linuex exe). Und ipc über das Netzwerk ist ein universeller Weg. Ich verbinde das µl-Skript mit dem Linux-Programm über Loopback (127.0.0.1) auf demselben Computer. Im Grunde habe ich eine Linux-API für das Terminal geschrieben (das µl-Skript bearbeitet Anfragen und sendet Kursdaten oder erteilt Aufträge).
Nach allem, was ich bisher ausprobiert habe, ist dies in meiner Situation die beste Art der IPC. Ich möchte meine Entwicklungen nicht auf µl übertragen - ich möchte prinzipiell nicht an eine bestimmte Sprache gebunden sein.
Das wäre ein toller Artikel! Sie erhalten Ihre eigene universelle Handels-API für jede Plattform. Und für eine Plattform schreiben Sie nur einen Receiver/Transmitter auf der API der Plattform selbst.
Und Sie können TS in jeder Sprache schreiben. Programmierer sind eben so!
Payback ist nur in der Latenzzeit. Deshalb wird es für eine sehr enge Art von TC nicht funktionieren - und das ist in Ordnung.
In der Praxis umgesetzt, aber die Praxis zeigt, dass nach einiger Zeit Pakete zu verlieren beginnen. Und nach den Protokollen zu urteilen, bleibt der Serverteil zunächst "stehen", und die Clientteile denken zu diesem Zeitpunkt weiterhin, dass alles in Ordnung ist, weil der Code des Clientteils der Prüfung vom Typ
if(client==INVALID_SOCKET) StartClient(Host,Port);nichts hergibt. D.h. die Clients können den Verlust der Verbindung mit dem Server vor dem Senden und sogar im Moment des Sendens von Paketen nicht feststellen.Vielleicht ist es notwendig, eine Funktion wie "CheckSocket" für die vorläufige Prüfung der Funktionsfähigkeit des Serversockets hinzuzufügen? Wie kann man sie dann implementieren?